Import Modules


In [1]:
%matplotlib inline
import os
import sys
#import pysam
import pandas as pd
#import pybedtools as pybed
import matplotlib as mpl
import matplotlib.pyplot as plt
from __future__ import division


import operator
import itertools

Data

P. Falciparum Genome


In [ ]:
pf_genome = read_fasta("/Users/philross/Dropbox/pfalciparum/PlasmoDB-11.0_Pfalciparum3D7_Genome.fasta")

phiX Genome


In [ ]:
#>gi|9626372|ref|NC_001422.1| Enterobacteria phage phiX174 sensu lato, complete genome
phiX = """GAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTT
GATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAA
ATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTG
TCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGTTTA
GATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTGGATTACTATC
TGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTACTGAACAATCCGTACGTT
TCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTT
CGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCT
TGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCG
TCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAATTTAC
GGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTTGCGTGTA
CGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCGGAAGGAG
TGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACT
AAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC
CCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCA
TCTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGAC
TCCTTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA
CTGTAGACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAA
GGATGGTGTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTT
GGCACGATTAACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACA
ACTATTTTAAAGCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGC
TCGTTATGGTTTCCGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTT
TCTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC
ATACTGACCAAGAACGTGATTACTTCATGCAGCGTTACCATGATGTTATTTCTTCATTTGGAGGTAAAAC
CTCTTATGACGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTT
GATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGC
CGCGTTTCTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGAC
TAAAGAGATTCAGTACCTTAACGCTAAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTG
TATGGCAACTTGCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGT
TTAAGATTGCTGAGGGTCAGTGGTATCGTTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGA
AGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGAT
TATGACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTT
ATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAAC
GCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAGCGAAGCGCGGTAGGTTTTCTGC
TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCATAATTCAAACTTTTTTTCTGATAAGCTGGT
TCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAAGCTACATCGTCAACGTTA
TATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATTCAGATGGATACATCTG
TCAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGATATTGCTTTTGATGCCGACCCTAAATTTTTTGC
CTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGATGTTTATCCTTTG
AATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTACGC
CGGGCAATAACGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGT
TTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGTTTGGTG
CTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAA
AGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATGCT
GGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG
GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGA
TAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTAT
CTTGCTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGG
TTGACGCCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA
GATGCAAAATGAGACTCAAAAAGAGATTGCTGGCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGAC
CAGGTATATGCACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTA
TGGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCA
AACGGCTGGTCAGTATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGAC
TTAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTT
CTAATGTCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGA
TACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAACCG
TCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGTT
CTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTAT
TGAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC
ATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGGGCGTTGAGTTCGATAATGGTGATATGTATG
TTGACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGA
ATTGGCACAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGG
GACGAAAAATGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCC
CTCTTAAGGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATT
GCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTGCTATTCAGCGTTTGATGAATGCAATGCGACAG
GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTT
ATGATAATCCCAATGCTTTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCG
CAAGGCTAATGATTCACACGCCGACTGCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGC
CGTCTTCATTTCCATGCGGTGCACTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTC
GTCGGGTACGCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT
CGCAGTTCGCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAG
CCGCTTAAAGCTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA
TGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACT
TCCCAAGAAGCTGTTCAGAATCAGAATGAGCCGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTG
TCCACGGAGTGCTTAATCCAACTTACCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGATATTGAAGC
AGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACC
TGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCGATAAAAATGATTGGCGTATCCAACCTGCA""".replace("\n", "")

Frequent Words Problem

Define Functions

Read Fasta File


In [77]:
def read_fasta(fasta_file):

  seqs = dict()
  with open(fasta_file) as f:
    header = f.readline()
    header = header.rstrip(os.linesep)
    header = header.replace(">", "")
    header = header.replace(" ", "")
    id = header.split("|")[0]
    sequences = []
    for line in f:
      line = line.rstrip("\n")
      if(line[0] == ">"):
        seqs[id] = "".join(sequences)
        header = line
        header = header.replace(">", "")
        header = header.replace(" ", "")
        id = header.split("|")[0]
        sequences = []
      else:
        line = line.replace("\r", "")
        sequences.append(line)

  seqs[id] = "".join(sequences)
  return(seqs)

Overlapping Pattern Occurrences


In [154]:
def occurrences(string, sub):
    """ Counts overlapping string occurrences """
    count = start = 0
    while True:
        start = string.find(sub, start) + 1
        if start > 0:
            count += 1
        else:
            return count

Max Dict Key by Value


In [79]:
def max_dict_by_value(dictionary):
    """ Returns top dictionary key and value """
    return max(dictionary.iteritems(), key=operator.itemgetter(1))

Min Dict Key by Value


In [114]:
def min_dict_by_value(dictionary):
    """ Returns top dictionary key and value """
    return min(dictionary.iteritems(), key=operator.itemgetter(1))

Most Frequent Kmers


In [123]:
def most_frequent_kmers(seq, kmer_len, n):
    """ Returns 'n' most frequent kmers of length kmer_len
        within a sequence of interest """
    kmers = dict()
    final = list()
    for i in range(len(seq) - kmer_len + 1):
        kmer = seq[i:i+kmer_len]
        if kmer in kmers:
            kmers[kmer] += 1
        else:
            kmers[kmer] = 1
    for i in range(n):
        maximum = max_dict_by_value(kmers)
        final.append(maximum)
        key = maximum[0]
        kmers.pop(key, None)
    return len(kmers), final

Least Frequent Kmers


In [124]:
def least_frequent_kmers(seq, kmer_len, n):
    """ Returns 'n' most frequent kmers of length kmer_len
        within a sequence of interest """
    kmers = dict()
    final = list()
    for i in range(len(seq) - kmer_len + 1):
        kmer = seq[i:i+kmer_len]
        if kmer in kmers:
            kmers[kmer] += 1
        else:
            kmers[kmer] = 1
    for i in range(n):
        minimum = min_dict_by_value(kmers)
        final.append(minimum)
        key = minimum[0]
        kmers.pop(key, None)
    return len(kmers), final

Most Frequent Kmer


In [101]:
def most_frequent_kmer(seq, kmer_len):
    """ Returns most frequent kmer(s) of length kmer_len
        within a sequence of interest"""
    kmers = dict()
    for i in range(len(seq) - kmer_len + 1):
        kmer = seq[i:i+kmer_len]
        if kmer in kmers:
            kmers[kmer] += 1
        else:
            kmers[kmer] = 1
    maximum = max(kmers.values())
    keys = [x for x,y in kmers.items() if y == maximum]
    return " ".join(keys)

Run Tests


In [133]:
string = "ACGTTGCATGTCGCATGATGCATGAGAGCT"
kmer_len = 6
## Expected output: CATG GCAT

In [130]:
#%%timeit
most_frequent_kmers(pf_genome["Pf3D7_10_v3"], kmer_len, 10)


Out[130]:
(4081,
 [('ATATAT', 42690),
  ('TATATA', 39978),
  ('TTTTTT', 31213),
  ('AAAAAA', 30413),
  ('TATTAT', 11102),
  ('TATATT', 10804),
  ('AATATA', 10596),
  ('TATTTT', 10042),
  ('ATAATA', 9886),
  ('TTATAT', 9705)])

In [121]:
#%%timeit
most_frequent_kmer(pf_genome["Pf3D7_10_v3"], kmer_len)


Out[121]:
'ATATATAT'

In [122]:
least_frequent_kmers(pf_genome["Pf3D7_10_v3"], kmer_len, 10)


Out[122]:
[('AGAGGACC', 1),
 ('TCTTAGGC', 1),
 ('GATTCGCG', 1),
 ('GATTCGCC', 1),
 ('ACCCCAAG', 1),
 ('TCGTAACG', 1),
 ('CATTGCCG', 1),
 ('CCGGGAGA', 1),
 ('TTCGCTCG', 1),
 ('TTTCGCGT', 1)]

Call Function


In [117]:
most_frequent_kmer("AAATTGCTTAGTGTCCGAATCGGCATAGTGTCCAAATTGCTGAATCGGCATAGTGTCCGAATCGGCATAGTGTCCTAGTGTCCTAGTGTCCGATTGCGCAATAGTGTCCGATTGCGCAAGATTGCGCAATCCAGTCTTAAATTGCTAAATTGCTTCCAGTCTTGATTGCGCAAGATTGCGCAAGATTGCGCAAGAATCGGCAGATTGCGCAAGAATCGGCAGAATCGGCAGATTGCGCAATCCAGTCTTTCCAGTCTTGATTGCGCAAAAATTGCTTCCAGTCTTTAGTGTCCGATTGCGCAAGAATCGGCAGATTGCGCAAGAATCGGCAGAATCGGCAGATTGCGCAATCCAGTCTTGAATCGGCAGAATCGGCAAAATTGCTGATTGCGCAATAGTGTCCTCCAGTCTTTAGTGTCCTAGTGTCCGAATCGGCAGATTGCGCAATAGTGTCCAAATTGCTGATTGCGCAAAAATTGCTGAATCGGCAGAATCGGCAGAATCGGCATCCAGTCTTAAATTGCTGAATCGGCATAGTGTCCGATTGCGCAAGAATCGGCAAAATTGCTAAATTGCTAAATTGCTAAATTGCTTCCAGTCTTGATTGCGCAAGATTGCGCAATAGTGTCCGATTGCGCAATAGTGTCCAAATTGCTTAGTGTCCGAATCGGCAGAATCGGCATCCAGTCTTTCCAGTCTTAAATTGCTGATTGCGCAATCCAGTCTTGATTGCGCAAAAATTGCTGATTGCGCAAGAATCGGCATCCAGTCTTGATTGCGCAAAAATTGCTTAGTGTCCGAATCGGCATAGTGTCCGAATCGGCAGAATCGGCAGATTGCGCAATAGTGTCCTCCAGTCTTTAGTGTCCGATTGCGCAATCCAGTCTTTAGTGTCCTAGTGTCCTCCAGTCTTTAGTGTCCGAATCGGCAGAATCGGCATAGTGTCCTCCAGTCTTGAATCGGCAAAATTGCTAAATTGCT", 12)


Out[117]:
'GATTGCGCAAGA'

Reverse Compliment Problem

Efficient reverse complement string class function


In [132]:
import string

def __init__(self):
    self.trans = string.maketrans('TAGCtagc', 'ATCGATCG')

def complementary_strand(self, strand):
    return strand.translate(self.trans)

In [140]:
c = { "T": "A", "A": "T", "G": "C", "C": "G" }

def complementary_strand(strand):
    for base in strand.upper():
        yield TRANS[base]

Not so efficient complement function


In [152]:
def complementary_base(nucleotide):
    c = { "T": "A", "A": "T", "G": "C", "C": "G" }
    return c[nucleotide]

def complementary_strand(strand):
    return "".join(map(complementary_base, strand))[::-1]

In [ ]:
complementary_strand('CGTTACATTTAATAAATGGAGATATTCGGCGAGTGGGCCCAGAGCTCGAAATCGGCCCCGTTATCAGGCCTTGCTATTCAAAGATTCTGTGCATGGCGAAGGGTTACACGTTTGATTTAGGAAGGGTGTGCTAGATTACGCGTTTTTGAGGTACGATGCCTTGCTCCGGATCGCCTCAGTCACCTTCGCACGCATGCGTGGCCCGGAATTAGCGAAGCAGGCAGCTTGCATGAGACTACACAACATCAGCTAGCAACAATAAATTTGAACTAAGCGCATATTCGCCGCGGGCCTAGGTCTAGGACAAATCCTTCGCGTGTCGTGCTGCCGCAAAGCCCTAGGAATTACCTGATGAAATCTCGACCTGTATACAACCTGACACCATTGGGATTATCTCTTAAGGCGGGATGGGGATGTCCGTCCTGGGTAACGTGCGGTGGACAAACTTTAAATGTATCTGCCTGTTTAAACTGGTCATAAGTCAGAAGGTACCTACGCACCGACGAGGATGCAGGCTACAAGGTAGCACCGACTCCTATTTTGCTAGGCGCAGCGACTTTCGTATCCTGATCCCGAGACTGCTAATCAGAGGTGGAGCTTTACTCGGGCCCACACTGTCTTACGTTTCTCTATCCTTGTACGAAGGCATAGTCCGACATGCAACCAATAGAGCTCCTGTCCTAGCAAAAATGATACCGCGCATAATGTGTCTGGTTGATCGACCCAATGCAATAGGCAGGGTCGGCACTGAAGCGTGGAGGATCTTGGCTTACTAACGAGTTTGGAGTCTGGCCATTGGGTCTTTCGGGACTGGAATTCTCCAGGAGGTGTAAATCGGTTGCGCGGTTGGAAAGGGTCTGCCATATTGCCCAAACTAGCACGCGACTACTCCGTTCAAACAACTAAGCGAAGTAAAGCGTCAGACACAACGAATACAACGATTATATAAGACGTTATTTTGGGGAGCGTCGTTTTTGTGGGAAAAATTGCTTCGACATCTTATTATTGTATTGGCCTCGTGCGGCCCAGAGCCTCGAGAACGTGTCAGTGCATGCTCAGTGCTAATGAGAGAAATCCTCATCGGTCGCGGGTCGGTTCCGAGTACATCTGAAGTTCGGAGGCTAGAGCGGGTCTGGGGCTGCGATTCCCCAGCTCAGCCTCAATGCATTCGCGACAGCTCCATGCGATCGTCGACGCCCACTGATCAAGGTACCCCCGGGGTGAATGCGCCTGCTTGGCCTGTTAACACCATACAAACGGGCGTATCGTGACATATATGGGCCCGTAAGCGTAGTCTGTAACGCTACGACCCGGTGGCAGCCCTCTTGTTTGCCACCAGATCTGGGGTCTGAGAGAAGCTTCCCTCCCCTGGCCGGCCTATGTATAGCTACAGGAGTGTCGAGGTGTCGTGACCGGTCCGATGAACAAGAGTCCATTGTGGGTTTGAATAGCACGAAGGGGCAGCATTGCAGAAACGTAGACTTTAGGACGGCTGATATTGTAGAGTAGAAACAAGGGGCCATGATGCGACCCCGATGAAGGAAATTTAGTGTTAGTTGTTCCCCCGAGATACTCCGCGGTTCAATCAAAACTTTATGACCTATTTCTTGTCTGGGTCCTGAGTAACTCAAATATCAGACACCACATTGTATGGCTTCTCCGGTGGGTGGGTTCGCGCAATGGATCATTGCTCCTGCGGATATCGATCGCAAAACCGGAAGCTGTGGGACAATTTGGTGCCTTCCAAGCCTAGAGCGGATCACTTCCAGGCTCAATCTCAGGTTCCGTTTACTGACAGTGGGAGTGCCGCCGCTTCGCTTCGTTATAATTAGAGGGGGAACGCCCCACAAACCTAGTAGCCTGTACAGTTGTGTGGGTGCCTAAGTTATTCCTCACCATGAAATTGAATCAATACGCAGTCATGACAATACCTCACACTTAAAATACGTATGTTACCGGCTAAGGGAGCACGGCACTTTGTCCAGATTGGCGCGTCACATATCTGTTTCCGCGATTGTTCGGTGTATAGGAACCGGCGTGATATCCTTTGACCGACAAGCGCACTGTCTTCGCCTCATTATGTTAATTAGGAAGGGTGGGTATTGGGTCGCTGCGGGGTCAACGAGAAGCTTTCTTAGGCCCGCCTCCCGAATAGCTCTCAACATAATTGTACGATAGAATACGTTGGCTTACTGAGAATGTAGACGTGAGGTGGGATTCCGTATAGTGTGATAGTTAATAATCACAAGCGTATCGGCTTGCCCTAAAAAAACTTGCGGCGAGGCTTCATAGAAGTGGAAAATGTGACAGACGCCATTCCATGAGGAGATCATTCATTCGCATTAGCTTACATTGCAGAGCTAGTTGGTTACCTTGGAATGTTCGCGGCTCGCAATGCGCGCCCCTCCGAGCATCTAACGCTCACTCACAATGCGCTGAATCGAGTGTACGGTTGGCACGGGAAGTAGGAGCGTGTCATCCATGGAGAGCTATCAGTTATCACTGGCTGTGACTCTAACCTGCCAAGACAGCCCAATATACCTAATACAGACTTCACACTTAGGCCGCTAGGGGTAGAAAACCATATTAGGAGCCTTTCCCTATCTAACACGTGCGCGCATAGGGATTCCTACGGGTCTGATGACAACTTGAAACAGGGCTAATGAATAAATACTTCCGGATAGACATCTTAAATGCTCTGCCAGTCATACACCATCATACCGATGAACCTAGGGCCCGGGTCACATCTTTAGGAGGACGACTACCTCGACCCTAGCGTATCGCTTGTAGCGGCCACGCGGTCCACCTGCGGCGGACCGGTGGGGAATATTTGTTTATGTCGCCAACTGTACATAACACGGTCAGTTTAAAGATGCTAGTTGACACTGCGAAAACCATGTGGGCCGTTATAAAAACGCCGATATTAATAGCATTAAATAAACTTGAGTGAAAAAGCAGGTTTGAAGTTGTCTGATCGTTTATTTCACATGTAGATATATATTCGGAGGCCCAGTCCGTACAGATTGGAGGGGGGGATAGAAGTGTATTCGCAATATTACATGCGTAAAACAACTGATAGGTTATGAGCCTTCGCTTACTGTTGCGCCACGGCCCATAAGTGCCTACAACATCCGTCCTCAGGTCGCACATACGACTGATATCATCTAGTCAATCGCCGCGGGGGGGCTCAGTTTGGTTGAATTGAAGCTCATTAAACGAGAGATTGGCCGCCGTGATGGGCGAAAGAAGCCCGTATGTGGCACGTGGATACCCACCCTATGCGGGGTGAGCCGTGCGAGGAAGTCCTGACCGGCGGCAGAAGACCCCCAGAGGCGCTTAGACATCGAATTGGTAGTATTCCCGAGGACTCGAGTGGTACCCCCGAGCACGGTTTGAGCGGCCACCCAGTAGGACACTTACAAAGAGGCCGCCCGGACGCTCGTGCTTGCCTGGCTGTGTTTTTAGCGGCAATTCGTCTCCGTTCCAAGAAGGGCCAAAGGTAAAACCGAGTTTCTCGGGTCTATATTGCTAAGGCTTTCCGGTCACGGGAAGGGCCAAGGTCTGTCGGCATTGTACAACTTCTATCCACAATTGAGTACTTCAACTAGAAACCCGTACTAAAGTTGCGATGTTAGGAACGAGCTCTTCTCTCCCCGGCAGGCGATCCAGCGCTTCGTCTATGGGGCCAGCCACTTGATAGGCGCAGATCACTAAAAAATTCCCTCTCATGCCATTTACCGAACCAAGCTTTAATCCTCTTCCTTCCCGGGGTACGTGTTGAGCATAGTCTAACCACCTCCGGGGATTAGCTATTGGACGAATCAAAGTTAGATGATTGCTCACTTGGCCGCAAATAGGAAGGTTTAAGTCTATATGGCATGTTCACGGAAGGCAAATGGCCGTAACTCCATACGGCGAAGAATTTGGAACGTTTCGCTCTTTCCGGTCAATATATAAAAGGCTTCCTCCCCCCATTGGGGGGCCATATACATGAAGGACAAGCCAGGCGCCTCGCACAACCCTATACGCATGATGGTTCATCACCCTTTGCTGAGCCCGTCAACATGGGCCCCTCCGATGCGCTGAGAGCTTTGCGTTATATGGCCATTAGTCGGCGTCTAGCGCCGTAGTGGATCTCACGGCCATATACCTGAGGACAGATGAGTAAAAATGAGGGTGAGTCATGGTTTATCAACATCAGAAGAACAACCGGCCTGCGCAGCATTATCTAGCGAGTGGGGAGACGCAAGAATATAATATGCGTTGACGCCCAGGCCAATGAAAAATCCTCGGTGGGGTAAGTGTGAGATTGATGCTTGCTAAGCCTATTTTCTGTATCTTGCCGCTCTAGGGGGGTCATCGGCTCATCGACTCATTTAGAAGGCTCGAGTTCTCAATATACTGAGCACCTTGTCATCCTACCTTGTAGCTCCTCCTGATGGAGGCCAATGCGGTGAGTTCTGCGACCTGCACATCAAGAAACGTTGGTAATGGGCTGTCCGGACGACTGTACGGCGACCCTACCATACGGCAGGGTTCACAGGGAACTGCGATTTGATCTTCGCAAGGACACGAACAGGTAGAGTTAAATTTCGGTGCTTCGACGACCGAGGATGTCCACTTCGGTCTAAGGTTATACACTGAGGAAGCCTTCGGCCGGTGTCTAACATACGTTTCCTGATAAATGGCGGACCGGCCGCACACGCATGTAAACTCGAAATAAGCGCATTGAGTAGGGTATATCCACTCGAGTATATGTGTTAATGCCCTCAGGGTCGCAAGCTGCCCCTAGGGCGGTAAAACATTTCTCTCCTGTTTCAGACAATTCTTGATCGCGTTGGTATCAAACGGTCGACAATACACTCGCCGCCTAGGCCGATGACTAGGTAGCTCCATGATGTGACTGTGTTTGTATAGAATTTCAGGCCGTTCCGTGCGTCGGCTATAGGAAGGGTATACAGCATAACCAATACCCTTACTTACTCGTGTTCCATATTCCCCGATGGGACGTAGACTCATTAATGTGAAAGATCGATACGGTATAGTAGGGCCTATACGGGGACTAACCCCAGCATGGCACGAGCTAGCGTCCCTTTGGGAGGTCGCACTGTGAAGGATATACGTAGAATGACCTAGTGAATGTCCCAGGAATCGTTAGTAACAGATGGGTAACATGTACTGAACCCAAGACCGGGCCTACCAGTAGAGGTTCCTGGCCAATATCTCTAGGATTAGAGATGACCACTTGGATTGCCTGACCCTCCCACAATTCCTTGACTACCGGGCGACCTTCTGCTCAGACTGGTCCAGGACAAGCTAAAGACTCTTACTATCATCCCGGGGTTCGTTTTCCTACATTACAGCAACACCGTTATGGCGTTCGAATAGTTCGGATTGCACACTTACAGGTGAGAATACGGCGTGGAGTGCTCCGGCAAAACTTATAGTGGGTACGATCGAATACCCGCTATCTCCCGACAAATGAAACTCTAACCCCCATCATTGCTAGCTGTAGCTTGTGCCGGGATGTGGCCTATAGGGTGTACTTCGGAGAGGGTATAGGACAGCCAGATTTACACCGTAGGATATACTTGGCGGGGCACGAGGTTTTGGTGATACCCGCAAAGGCAGGGCATGATGCACCTGACCAACTGTTCGCCCCACCCAACCAAAATGCTTGTTCTGGTCCTACTAGAAATGCGGGATGATACGCCGACAAGCCCGTGACCTCCCCCTGCATAATTCCTGCTACGTGTTTTGCTTCGACGGGTGCTCTACTGAGGAATTCTGCCGGTGATACGAGCCTTCCGAAACTCGGGTAGAAGCATAACCTCGGGGGTTGTGATAAATGCCAAGAGCGTACGACATCTGCGGAACGAGGACTAGGCAACATCGCGAAAGGGTCAAGCGTGCGATACATTCCTTCTGTGTGGTGAGCCACTATCGCTACCGAATCGAACCGACTCTTCCCCTGCAGCCGGACCGCAACCAACTTTTAGCCATGATAAAGATGTGGTCTTTATTGGTTCATACAACGAATCATAGGCGCAAGACAGGCTAGCCTATAGTACCCCAAATAACCAGCGAATGATATGGGCACCCCTAACCCACGTCAGATGCCGTATGTACACACGATCGGCATTGGGTGATAACGTCCCGTCATTTGGCGATCATGCAGATAAGCCTCATGCACTACGCAAACTTACGCATGTCGAGTAGTTGTTCGGATACCCCTATAGGTACGTCTTGATCGACTTCGGAGTTATATTTTGGTAACTTGGCGCTCCCGTATAGGGGTTATGCGAAATTTTTCATACCCGCGCATTTATGCGCAGGGCCATTGAGCAATCGCACGTCTTCCTGTGGGTGTTGTTGGCGTCTTAAGAACTCACTTAGACCCAGCCGCTTATCCTCTCCACTAGGGTACACTCCTCACGACTACTGGACTTGAGTTCCACTAAGCGATGCCATGCGCGATAGACGAGAAGGTCTAACAAAGTGAAAAACAGTACGGAAGTGATCCTTAATTTTTCCAGAGGATCCTCATATACCCCACACCCGTATTACTTTTTCCATCCTCTCGCTGTACCCAAATCTTGCAAAGACTAATGTACTTAGAGATTGGTTTCTGCGTGAGCAGTTCACCCATGTTTAAGACATGTCTGGGTGAAGCCCAATGCATCAATTCACGGAGAGAGTCGGGACTGGTTCAATGATCTATCTCTACCAAGGTGATGGACTTGATGTTTACAGCCTATACCATAAGAGTCACTCTTTCTGCTAAGTCACCAACGCCCTAATTTTATTATCAATAGCCTAAACCTGGAATCAGTCGCCTACCTAACTCAGACGTTGGGACCATGTAACCTTGATAGGGTCCCCGAGAGCATATCAATGGCCCCTCCTGGTACGCTCTAACCGGGATCTGTTGTGCGTAGACCTCAGAATGTACAGAATTTAATCTTAGCCCCAGGGCTTAAGCACTTAAACTCTCGTCGTGTGGTCCCATTTAGAGCGAGTTTTCCACTTCGGATAACGCGTCTAGAAGCTAATGGGTGTACGGAGATGAGTCGAGGGATACACCCTAAGTATTGCTCAGGGACAGTCGAGAGGACAGTGTGTGAGAGCCGACCTCATAGGTATAGATCAATCCCCCTGCTAACCCGCCCACCGTGGTTCTGACGTTCCTCGCTCTCGGCAAAAGATATCCAGGTGGTGTGGGGATTTCGCCCGTAAAGAAGTGACCGAAACAGAGTGCCTGCCCATGTTAGGAGATTTCGACCTGTAGACGATCGAATTGGACTAGAACTAGTGTTGTGGAAGAGGGGGCGTCAAATTACCTACAACGTCTTGGGCGAAGACCCGTTAGTGGAAATAGGCGCGGGAAATTATGGGGGCCTCCCCTTTGGATCGCCATGCTCCTTTACAGAAGCCCCTACAATTCCTTCCAACCTGTTTGCTTTGCGCGTTTAGGGGAACCCGGCGCACGGAACGGGCGTGTTCCGGGTAGCTTTCTGAGAATAATAAGAGAAGAGGCCAGAACATCGGCCTAAGCTGAGGGCAATCGTGCCAATAGGGGCATGTAAGAGAGCAATCCTTACCCCTCTAGTACGAAGGTAGTAACAAAGGACTGGCCCGATGAAGCAGACTTTATTGTCGCATACGTTCGTAATGCACAAGGCGCCGCGAACCTTGCAGTATGTCTGGTAACAATCTACTTCAAGTTCTCTGAGCCTGACTACCTCCCCTTACCCCAGGAGGATGTCCCACATTACCGCCCGGGGTTGATCCGAAGGTCCTTTTGCGTGAACAGTTGAGTTAAGCTATTGATTGTCCTAGCCGTAGTTGCGAGAGGCGTCTCGGTAGGTATACTGGCGCCCCCGCTAGTGGGGTCATTATTGATTTGAGCACACTTAGCTTTGGCTGCGCGTAACTCTTCGCAAAGTCCTGTAGTTCTTTAGCGCCGTGTTCCTTGTTCAAGGGAGGGAGTACCTGTACAGGGACGTAAGAGAGGGTGCCGCCAAGCCTACCCACCTTATTTGGAGTCACTTGCATAATTAAGGGTGCTGGATTCTGGTAGGGACCGGTTCTGTCCTCGCCTTAGAAACAACTAGCTTACATCTATAGAGTTACGAGTGAACACGGTATGCCTCAAATTGTCTCTGGTACAGCAATTTGTTATCATTGATCTAGACTGGCCTCTAAAGTTCGCTTCGAAAGCCGTTAGACTGCCTTCAGGTGGAACTTTTGAGCCCCCCTGTGAAAGGGTAAAGAAACCACCTATGCTTACCAGTGGTTTATCTGCTGCCCCAGCTGTGCCCTCCGAAACAATGCGTCTAATTCCGGTTCGCGATCGTTGATCGTGTCGTAATTGCTCATTTTAGCCTTAAATAGCATTTCGATGAATTGCGTCACTGCTTCAAGCATGCAGGGAGGGTGGGGTAGGCAAGAAACGGCCAGTCTAGGTAAAGATATCTATGGTCCAGAGGGGTGTACCCTCGCCTCACGGACTTTACCATTTTGTATAGCATCATGGCCGTGTTCAGTCTTCGGGCCCTCCGATGTCTGGAATTTCCTTCAGCTGGCAATCGCTTCGTCTCTCGCAGAATAGCCCATCCTGGTGCAACAATGACCACCTCATTTATAACACAGCCTTGTACAACGCTTCAACTAATTATGGGTCCAAAGTGTATGTGTCAGGGGCATTAAACCGACTGCCTGCCTTTGTTCTCACGATACGGTATACCGTCTAACAGCCGCTCAGACGCCTATGAGTGAGAAACGAAATGAGCATAGTGGTAGTGCCTAACAATCATGCGGATTAGGCTTCTCCCTGTCCCCTATTGGGTCAGACTACGGTATGCGCTTGCGTCACAAAATTCTGAGGGCGCATAGATTCATGGGCGCATCCGTTGCGGCCAGCTACCCGGCAGTTACCGCAGGAGTCCCCCTGGATTCGCACGAGGTAAAGTAAAAACTACCCATTGCGCTCAAAAATCTTCCTCACTGAAGCCAGTAATTTATTTTCTATAATTCTGTGTTCGCACCGCTCCGAACCGGTTCCATTCACCGATATGATCCTTGGGGACTTCCGGCTAGGTTTCGGAATCATGCTATTAGGATGAGGCGCACTGTCACATACTCAGCAGTCTCGAGTAGGCTTCTTGGTGATGGGGTCTGCTTTTTTCAAATAGGACTACGTTCCGTTGCACACATAATATTGTCCACCTGCTGAGAAGCCACTAGGTATGACGGCTGCTGGTAATAAGCACACCTCACTCCACAGATCCCTTATAGGAGAGTGAATAACGTGAGCGACTCGGAAGTTGCGATAGGTGATTAGGCCCCCTGATCATAAGGTCGGTGCTGCGTCAACTAGTACTGTTAACGGATTAGAATAGCCCGAAGATACTGGATTGGGAGTTGCCAATGGTACAACGGCAAGGCTCATATGCCGAGACTGTCCCGCCAC')

Pattern Matching Problem


In [173]:
def occurrences(string, sub):
    """ Counts overlapping string occurrences """
    count = start = 0
    positions = list()
    while True:
        start = string.find(sub, start) + 1
        if start > 0:
            count += 1
            positions.append(str(start - 1))
        else:
            return count, " ".join(positions)

In [ ]:
occurrences("TGTAACAGGTTATGAGTCGATGGTAACAGGTAACAGGTGAAGGAACAGGTAACAGGTTATGAACAGGTCCATCCGGGGAACAGGTAACAGGTACAACCAACTAACAGGTCTGGAACAGGTTTAAACAGGTTAACAGGTAAACAGGTACAACAGGTAACAGGTAAACGCTCCACAACAGGTTACTCGTAACAGGTAACAGGTTATATCAACAGGTCTATATTTAGTACAAACAGGTGCAACAGGTCTCAAACAGGTAAACAGGTTATTGCAACAGGTTAGAACAGGTAACAGGTTTAACAGGTAAACAGGTTCGCTCGAAACAGGTGAAACAGGTCAACAGGTGGAACAGGTTAACAGGTCAAATAACAGGTACAAACAGGTACAACAGGTGGGGCACAACAGGTAAACAGGTGAACAGGTAACAGGTAGAACAGGTATAACAGGTCAACAGGTAACAGGTAACAGGTAAAACAGGTATGCCTACAACAGGTAACAGGTAACAGGTCCAAGCAACAGGTGATAACAGGTTTATTAACAGGTAACAGGTGAACAGGTTAACAGGTAGAACAGGTACTTGAAGGTAAACAGGTAACAGGTGAACAGGTTCGGGGCAACAGGTAACAGGTAAACAGGTTTGAACAACAGGTAAACAGGTAACAGGTGACAACAGGTCAACAGGTAACCAACAGGTGAACAGGTGCGAACAGGTTAAACAGGTAACAGGTAACGTTGCACTTGGCCCAGCGAACAGGTCAACAGGTATTCAAACAGGTAACAGGTGGTAACAGGTAACAGGTAACAGGTCTATCTAACAGGTGATCGAACAGGTTAAACAGGTTAACAGGTCAACAGGTAACAGGTCAACAGGTTCTCTAAACAGGTAGCTGTTAAGTGAACAGGTGTCAACAGGTCTGTAACAGGTCGAATGAACAGGTAACAGGTATATAACAGGTAACAGGTAACAGGTGAACAGGTCAACAGGTTAACAGGTAACAGGTGGTCAAACAGGTCAAGAGGAAACAGGTTATCTTAACAGGTTTTGAACAGGTAACAGGTAACAGGTAACAGGTCGTAACAGGTTTAGTCAACAGGTCGTTCAACAGGTCAACAGGTTGCAACAGGTAACAGGTCCATCTAACAGGTAACAGGTATTCATTGTAAACAGGTAAGAAACAGGTGCCCGAACAGGTGGGGTGGAAGCAACAGGTAACAGGTATGAACAGGTCAACAGGTAACAGGTCTACAACAGGTCAACATAACAGGTTCGGTGGAAGTAACAGGTAACAGGTGTTTCAGTGACAACAGGTTGTACCAAACAGGTAACAGGTAACAGGTAGCAAACAGGTCCTAGTATCTCGACGCGAAACAACAGGTCAACAGGTCCAACAGGTACAAACAGGTGAACAGGTACTCGAAGAAACAGGTGGCAAAAACAGGTTAGAACAGGTGAGAAACAGGTATAACAGGTCAACAGGTTTGTCGAACAGGTCTAACAGGTGAGGAACAGGTAACAGGTAACAGGTTGAAACAGGTAACAACAGGTATAAACAGGTGGAAACAGGTGGACAACAGGTGCGATAACAGGTTCAACAGGTAACAGGTTTAAACAGGTAAACAGGTGATAATCCCAAACAGGTAACAGGTATAACAGGTTCTACAACAGGTGCAGAACAGGTGGGGTCGATGTGAACAGGTTCGCAAACAGGTTAAACAGGTAGATTAACAGGTAAACAGGTAACAGGTTAGAAACAGGTTAAACAGGTCAACAGGTCGAAACAGGTTAACAGGTCGTGAACAGGTCAACAGGTCTAACAGGTGATTGTCGGGAAGTTAACAGGTTAACAGGTAACAGGTAACAGGTTGCTTATTCGTGCTAACAGAAACAGGTCAGGCAAAAAAAACAGGTAGTTATAACAGGTAGATCTCCACCAACAGGTTAACAGGTAAACAGGTTATTCAACAGGTAACAGGTGCGTAACAGGTAAATGCAACAGGTTGTGAAACAGGTACTGAACAGGTAGCGAGCGCGAACAGGTGCAACAGGTAACAGGTAACAGGTTGCAACAGGTTATAACAGGTAGTAACAGGTAACAGGTTTCGTGTACAAACAGGTCGAACAGGTTAACAGGTGCAACAGGTAACAGGTTGAACCAACAGGTAGAACAGGTCTGAACAGGTCCAACAGGTGCAACAGGTCTGCAATCGATTGGTAACAGGTCGCAAACAGGTCGGCAAACAGGTAATTAAACAGGTTAACAGGTAACAGGTTAACAGGTAACAGGTGAAACAGGTAACAGGTATAGAAATCAACAGGTAACAGGTGAAACAGGTAACAGGTCGACGAACAGGTAACAGGTACTTAACAGGTGAACAGGTTTAACAGGTGACACTAACAGGTAACAGGTCAACAGGTAACAGGTAATTAACAGGTAACAACAGGTGAGGAACAGGTGGCCGAACAGGTAACAGGTAACAGGTGAGTGCCGGTAACAGGTCCGGTAACAGGTACATCACTTCCAACAGGTTAAACAGGTAACAGGTAACAGGTTCAACAGGTAACAGGTAACAGGTACAAACAGGTTGAACAGGTCAACAGGTGAGAACAGGTAACAGGTACAGTCTAACAGGTATTTGTTGAACAGGTACACAACAGGTAACAGGTCCATTAACAGGTTTAAACAGGTAACAGGTCTAACAGGTGAACAGGTAAACAGGTAACAGGTCTGAACAGGTAACAGGTCGTCGAACAGGTGAACAGGTAACAGGTCAGTAACAGGTAAACAGGTCCAAACAGGTCCGCACAACAGGTCGAACAGGTAACCCTGAGAACAGGTAACAGGTGAACAGGTTAATACGAAGAACAGGTACTAACTAACAGGTAACAGGTTCTCAACAGGTATAACCAACAGGTAACAGGTAACAGGTAACAGGTGAGTTAACAGGTCTCTAACAGGTACAAACAGGTAACAGGTGAAAACAGGTAACAGGTGCCAGTAAATAACAGGTCAACAGGTCATCCCAACAGGTCAACAGGTTTCGGGGCTGAAACAGGTCAACAGGTCCAACAGGTGACGAACAGGTAACAGGTACGCTCAACAGGTGACAACAGGTCAACAGGTAACAGGTAACGTAGAACAGGTCACCAACAGGTTATCCGAACAGGTTAAACAGGTCAACAGGTTAACAGGTAACAGGTAACAGGTAACAGGTCAAACAGGTGTAACAGGTTTTGCTGAACAGGTCAACAGGTTGCGTGTAACAGGTGAATAACAGGTCAAACAGGTAACAGGTAACAGGTAACAGGTTCGCAAGAACAGGTGTAACAGGTCGAACAGGTCTGAATCACCCCAACAGGTACCTCAAGCGATAAGTCCATCAAGAACAGGTCTTGAACAGGTAACAGGTAACAGGTCAACAGGTAAACAGGTAACAGGTGCATAACTAAGGCGCGTCAACAGGTTCGCCTTAGAACAGGTAAAACAGGTAACAGGTGTAACAGGTAACAGGTAAACAGGTGCGAACAGGTAACAGGTCATCCGTCGAACAGGTAAACAGGTTAAACAGGTTGTTGTAACAGGTAACAGGTAACAGGTAACAGGTGAAACAGGTAACAGGTTAAAACAGGTGCAAACAGGTCTAACAGGTAACAGGTTGCCGGTCAACAGGTTAAACAGAACAGGTAATAGCGAACAGGTAAACAGGTTAACAGGTCAACAGGTAAACAGGTGGTAATAACAGGTAAAAACAGGTTATAACAGGTCAACAGGTTAGCGAACAGGTCTAACAGGTGAAACAGGTCTAACAGGTCTAACAGGTAACAGGTAACAGGTTTGAACAGGTGGGAACAGGTAACAGGTACAACAGGTCAACAGGTGAACAGGTAAACAGGTTCGAACAGGTAACAGGTACAACAGGTGAACAGGTCGAAAACAGGTAAAACAGGTTAGTTAACTAACAGGTAAAACAGGTATAACAGGTACCAACAGGTACTCAACCAGAACAGGTAGATGAACAGGTAACAGGTCAGAACAGGTTACACAAAACAGGTAGTAGGGAACAGGTAATGAACAGGTGGTAACAGGTGTAACAGGTCTTCTGGTTGGAAACAGGTAACAGGTGTAACAGGTTGGCTTAAACAGGTAAACAGGTGTAACAGGTGGAAACTAGTTAGTAGATGGAACAGGTAACAGGTGAGGTTTCAACAGGTCCATAACAGGTTATTAACAGGTACCCAACAGGTGTTCTAACAGGTCAACAGGTAACAGGTTAAACAGGTAACAGGTCTAAACAGGTTAAACAGGTAAACAGGTAACAGGTAACAGGTTCAACAGGTACGCAAACAGGTAACAGGTAACAGGTAACAGGTACATCAACAGGTAAAACAGGTGGAACAGGTGTAACAGGTCAACAGGTGCAACAGGTAACAGGTTAGAACAGGTGAACAGGTAACAGGTCAACAGGTCGACTGCAACAGGTAGGGAACAGGTAAACAGGTCGAACAGGTCAACAGGTCAACAGGTCATAACGTTAACAGGTTGTCCATGAACAGGTACGCAACAGGTGAAAACAGGTAACAGGTGAAACAGGTCAACAGGTTGAACAGGTAACAGGTCCCTACGAACAGGTAACAGGTCTAACAGGTTAGGGACGCAACAGGTAACAGGTCAACAGGTATAACAGGTAACAGGTGTGGAACAGGTAACAGGTCTGTAACAGGTCGTGACACTAACAGGTAACAGGTCACTAAAACAGGTCTGAACAGGTAACAGGTGAGGAGTGTGAGAACAGGTTGCATGAACAGGTAACAGGTACAACAGGTGAACAGGTAACAGGTGCATTAACAGGTGAACAGGTCAACAGGTGGTAACAGGTCCACCCCGCCGAACAGGTAACAGGTTAACAGGTTTTAACAGGTCCAACAGGTACAACAGGTTATTTAAACAGGTGAACAGGTATTCAACAGGTGTAACAGGTAACAGGTTGAACAGGTCAAACAGGTTCACACCCCAAACAGGTCACTTTAACAGGTAACAGGTAGCTTCTCACTCAAACAGGTGAACAGGTAACAGGTCCCTGCGAACAGGTAGAACAGGTAACAGGTCGAACAGGTAACAGGTAACAGGTGCCAACAGGTGGAACAGGTTTAACAGGTTAACAGGTGAAAGTTAACAGGTAACAGGTAAACAGGTACTAGAACAGGTAACAGGTTGAACAGGTCAACAGGTTAGGCCAACAGGTATATGGATCGAAGTGTTGAACAAAACAGGTCAACAGGTAACAGGTAGTATTGGATCAGAAACAGGTAACAGGTTGTAAACAGGTAACAGGTAACAGGTTAACAGGTAACAGGTAACAGGTAACAGGTAACCCTTAACAGGTCCCAACAGGTGAAACAGGTCCAGAACAGGTAAGAACAGGTAACAGGTCAACAGGTAAACAGGTACCAAACAGGTGTCTAAAACAGGTCAACAGGTTGGTAACAGGTTGTCTACAACAGGTAACAGGTAACAGGTAACAGGTATAAACAGGTAACAGGTTAACAGGTCAACAGGTCAGGTTTATAAAACAGGTAAACAGGTTAACAGGTAACAGGTAACAGGTATACAACAGGTACTCCCCATGCCTGGGGAAACAGGTAACAGGTCAACAGGTATCCCGGCAACAGGTAACAGGTAACAGGTTAACAGGTGTCAAAACAGGTGTGTATGTTCAACAGGTTGAGTAACAGGTGCTAACAGGTTAAAACAGGTAACAGGTACACAACAGGTTAACAGGTTTACAACAGGTAACAGGTCAAACAGGTGTAACAGGTCACACATAACAGGTCTCAACAGGTCGCCAACAGGTATTCGTGAACAGGTCAACAGGTAAACAGGTAACAGGTAAACAGGTTAACAGGTCAACAGGTAGTAACAGGTAACAGGTCAAAACAGGTAACAGGTAACAGGTAAACAGGTATGCAACAGGTCGTAGCTAACAGGTACGTAACAGGTCAGTTAACAGGTGTGTGTTGAACAGGTGTCAACAGGTCAACAGGTGAACAGGTAAACAGGTAGTAACAGGTAAACAGGTTGAACAGGTTCGTTAACAGGTAGCTAACAGGTCAACAGGTATCAACAGGTCCTCGGCATGAACAACAGGTAAACAGGTAACAGGTCAACAGGTAGCCAACAGGTAACAGGTCAACAGGTGAACAGGTGAACAGGTATATTAAAACAAAACAGGTTTAACAGGTAACAGGTGTGAAACAGGTCCAACAGGTAACAGGTCATAACAGGTAACAGGTCCTCTTGTGCTTTAACAGGTAACAGGTTGAACAGGTAACAGGTTGACATGCAACAGGTAACAGGTTGCGAGGGTCAACAGGTAAAACAGGTGGCCAGTAACAGGTACAACAGGTGACAAACAGGTCATGCCGAACAGGTCCTAACAGGTGTCGCGTGGAACAGGTCAACAGGTAACAGGTATAACAGGTAACAGGTAACAGGTAACAGGTAACAGGTCAACAACAGGTGCACATTGGCGACAACAGGTAACAGGTAAACAGGTCAAATAACAGGTTTTCAACAGGTCTAGCAACAGGTAGAACAGGTTCCGCAAACAGGTGCAACAGGTGGTAGAACAGGTGAGACTCATAACAGGTCATAACAGGTATAAACAGGTAAACAGGTCAGCGCGCTCGTTCAACAGGTAACAGGTTAACAGGTTGAACAGGTTGTAACAGGTCAACAGGTCAACAGGTCAACAGGTATGAACAGGTAACAGGTGGATAACAGGTAACAGGTAACAGGTAACAGGTAACAGGTCCAGTTCAGCAACAGGTTGCTAAGAACTCTGGGAACAGGTTGTATAACAGGTACTCCAACAGGTGAACAGGTAAACAGGTTTGAACAGGTAACAGGTACTAACAGGTAATGAACAGGTAACAGGTATGAACTAACAGGTTAACAGGTATACAACAGGTAACAGGTAAAACAGGTACCCCAACAGGTAACAGGTTGAACAGGTAGCATAGAATCAAACAGGTTATCTATTAATCTAACAGGTAACAGGTTAACAGGTCCAAACAGGTACCTAACAGGTTGACAACAGGTTTTGCATAACAGGTCGAAACAGGTGACCTGTTCGAGAGTAACAGGTAACAGGTGTAACAGGTAACAGGTCTCAACAGGTATAACAGGTAACAGGTAGCAACAGGTAACAGGTCCAACAGGTTAACAGGTACCTTTTGAACAGGTAACAGGTAACAGGTTGTAACAGGTACAAACAGGTAACAGGTAAACAGGTGCTTACAAACAGGTCCCGGCCAACAGGTCATAACAGGTACATAAACAGGTAACAGGTAACAGGTTAAACAGGTAACAGGTAACAGGTAACAGGTAACAGGTGCTAACAGGTAACAGGTAACAGGTTAGGAACAGGTAACAGGTACCAACAGGTCAGAACAGGTTGTAACAGGTGGGCAACAGGTGAAACAGGTATGAACAGGTCACCCCACACGAACAGGTTCAACAGGTACAATATAAACAGGTTGATGAACAGGTTCAGCGAACAGGTGCGAACAGGTAACAGGTACAACAGGTAACAGGTAACAGGTAACAGGTTTAAACAGGTGGCTAAAAACAGGTAAAACAGGTGTTAAAACAGGTCTCGCCGCTAAACAGGTAAGAACAGGTTAAAACAGGTCAGCAACAGGTCCTAACAGGTCAACCTCTGGGCTCTAACAGGTTAACAGGTGTGCAACAGGTAACAGGTTTTAACAGGTAGAACAGGTGCGTTCACAACAGGTTGAACAGGTAACAGGTCAACAGGTGACAAACAGGTACGTAAAACAGGTAACAGGTAACAGGTCTTGTAACAGGTAACAGGTCAAACAGGTACGGTAACAGGTCCAAACAGGTGGACAACAGGTCTAACAGGTTAACAGGTAACAGGTGGAACAGGTCATGAACAGGTTTAAGAACAGGTAAACAGGTATAGACAACAGGTCAAACAGGTAACAGGTAACAGGTAACAGGTGAACAGGTTAACAGGTAACAGGTCAACAGGTGGGACTGAACAGGTTGCACAACAGGTTAGGAACAGGTTAACAGGTTTAACAGGTAGAACAGGTAACAGGTAACAGGTAAACAGGTAACAGGTAACAGGTGAACAGGTATGTGTAACAGGTGAACAGGTAGAACAGGTCACACAACAGGTCAACAGGTCCCAACAGGTAACAGGTCTAGAACAGGTTAACAGGTAACAGGTAAGTCAACAGGTTAAAACAGGTCAGCCGTTGCAACAGGTAACAGGTAACAGGTTTAACAGGTAACAGGTAACAGGTAACAGGTGACCCAACAGGTCTGAACAGGTCACAACAGGTAACAGGTCAACAGGTCTCCCGAACAGGTGAAACAGGTAAACAGGTGTAACAGGTAACAGGTGCGTAACAGGTACGATGGGGCAGTTTCAGGGCTGAACAGGTAACAGGTAACAGGTAGACGAACAGGTTACACATTAGTAACAGGTTGGAAACAGGTGAACAGGTGCACAACAGGTCAACAGGTTAACAGGTCAACAGGTGAAATGAACAGGTCGCCAAACAGGTCTACAACAGGTGGAAACAGGTCTGAACAGGTCATGAACAGGTGAACAGGTTAACAGGTCTTCAACAGGTAACAGGTAACAGGTAACAGGTGCAACAGGTGTTGCAACAGGTAACAGGTGAACAGGTTAACAGGTAACAGGTGCTGCTAACAGGTAACAGGTTAACAGGTGAACAGGTGCCAAACAGGTCTTAGACAGTTACATAAGAACAGGTCAACAGGTTGGGAACAGGTTAACAGGTGGGAACAGGTAACAGGTAACAGGTAAACAGGTGGCAACAGGTCGAACAGGTTCAACAGGTTGGAACAGGTGAGAACAGGTAAAACAGGTAACAGGTAGGAAAACAGGTTCAACAGGTATGGGAACAGGTGAAACAGGTAACAGGTTAGTAAACAGGTCACTGAACAGGTGGGGAACAGGTAACAGGTAACAGGTCCGAACAGGTGCAAACAGGTGAAACAGGTAAACAGGTACCGAAAACAGGTAACAGGTAACAGGTAACAGGTAGGCTACAACAGGTTAACAGGTCCCCAACAGGTC","AACAGGTAA")

Clump Finding Problem


In [429]:
def kmer_clumps(genome, k, L, t):
    """ Find patterns forming clumps in a string """
    clumps = list()
    for i in range(len(genome) - L + 1):
        mini_genome = genome[i:i+L]
        kmers = dict()
        for j in range(len(mini_genome) - k + 1):
            kmer = mini_genome[j:j+k]
            if kmer in kmers:
                kmers[kmer] += 1
            else:
                kmers[kmer] = 1
        if max(kmers.values()) >= t:
            keys = [kmer for kmer,value in kmers.items() if value >= t]
            for key in keys:
                if key not in clumps:
                    clumps.append(key)
    return " ".join(clumps)

In [198]:
#%%timeit
s = "CGGACTCGACAGATGTGAAGAAATGTGAAGACTGAGTGAAGAGAAGAGGAAACACGACACGACATTGCGACATAATGTACGAATGTAATGTGCCTATGGC"
kmer_clumps(s, 5, 75, 4)


1000 loops, best of 3: 802 µs per loop

In [419]:
%%timeit
s = "CCAAACGAGGCATTGGCGGGGGATTGAAATTCTTGATGGCTGAGCACTGACTGAGCACTGGAGGATCTGAGCACTGCTGAGCACTGAGGCTCGATGGCCATAAAAAACCCTGATGGGTGGATCTGAGCATAAAAAAACTCCCGGGCATAAAAAATCATAAAAAAGCACTGCATAAAAAAACTGCATAAAAAACGTAGTCCTGCAGATCAGATGGGTGGCCATAAAAAACATAAAAAACACTGGTAGATGGGTGCATAAAAAACATAAAAAAGAGCACTGGTGGGCATAAAAAACTGCATAAAAAAAGACGCTACACATAAAAAAGGGCATAAAAAACCTGAGCACTCTTCTGAGCACTATGGGTGGGCTCATAAAAAAAACCATAAAAAACATAAAAAAATGGGTCTGACTGAGCACTCACTCAGATGGGTGCTGCATAAAAAACATAACATAAAAAAAGCACTAAGCTCTGGATGGGTGGGACTGAGCACTCATAAAAAAACCTGAGCATAAAAAATGAGCACTACGTTCATAAAAAAGATGGGTGGGGCTGAGCATAAAAAAAAAAACATAAAAAATGGGTGATGGGTGGGGTCTTCAATAACATAAAAAATAAAAAAATGCGCCGGTCCATAAAAAACATAAAAAAAACATAAAAAAATAGGTCTTGTCTTCAACATAAAAAAGCAAACTTGGTCTTCAATCATGACGTATGGTCAAGGGCTTGGATAAGTCTTCAATGTCTTCAATAATGAGCAGGCTTCGTCTTCAATAATTCAATCCTGTTCATCGTCTTCAATAAATTGGAGGTTAGCATGGGAAAGGTCTTCAATCTTCAATGGGGACGGTCTTCAATTTTTGAGGCTGATAACGATAGTCTCGGGTGTCTTCAATGTCTTCAATTCTTCGATTTGTCTTCAGTCTTGTCTTCAATGATTTCCAGGGAGTGATCTGGTGACGCTTTCTCCGGGTCTGTCTTCAATCGTCTTCAATGTCTTCAATCACGGTCTTCAATTATGCGGGGGCCGGCTCCACGGTGTTTATTCGAGTTTACACCTGGGAGTTTAGAACGCCACGAGTCGTCTTCAATTATCTCCATTAGTAGTCTTCAATCTGCAATCCAGTCTTCAAGTCTTCAATAATTTCGGATGCAGTCTTCAATGCGTTGCGCACTTAACGGCAGTTCCCCATTTTTCGCGTAATCCGGCATGACGCTGGACCGTTGGTTACGGGGCTCGTTGGAAGGCCCGTGGCTGGCTAGGCATTGGGATCATGTAATGTTATATCCTTCGGCTCGCGTATGCATCCTTGCATCTTGCATACTGCATACCCTCTTGCATACCTTGCATACACGGCCCTCACCACTTGAGACCGCCGCAACGTGCGACTTGCATACCTGCTCCCAAGGTGTGATTTGTTGTTACATGTGATCCTTGCATACTTATCCTTGCATACTACGTTTCAACGAGGCTCTTGCATACTGAGTTGGCTGGTCCCTCTTGCATACTACCCTCGCCCCAGTAGGTGGTGTAAACCTGCCTCTGTGTTCGAGCTTGCATACAGTCCCACGGCTTGCATACCACTTGCATACTTGCTTGCATACAAAGTCTGACTTGCATACTCACCACCGCTTGCATACCCGATCAATTCCCTGCGGCCTTGCATACATGGCCGTGATTATTGCCGCTAGCGCCTTTACCATGGACACCACCGGCACCACAAGAGAGGCCTCTTGCATACGCCCGGGCTGTCTTGCATACTGAATGCGTGTCAAGTTATTCTCTCTTGGTCCTTGTCAGCAAACTTGCATACCAGCAGGGGGAAGCTTGAAGGCTGCTTGCGTCCTTGTCGTAGACCTGTCCTTGTCTATTGTGGACCTTATCTTGGTCCTTGTCGTCATACAGAGTGTGACCAATATGTTCCCCCGTGAGATCTCGTTGGCGTCCTTGTCCCGCTTTCGAAACGCGGTTCCTGGCTTATCGTCCTTGTCTTGTCCTTGTCGTCCTTGTCGTCCTTGTCGTCGCGGTCCTTGTCCCTTTGTTCTTGTCCTTGTCTGTCCTTGTGGTCCGTCCTTGTCCGAAGATCAGTCCGTCCTTGTCTCAGGCGGCGTGTACTTAGGGCAAGTCCTTGTCAGAGATCAGGGAAGATCAGAAGATCAGTGTCCTTGTCGTCCACGGTCCTTGTCATCAGGGTGAAGATCAGGAGTAGAAGATGGTCGTCCTTGTCGAAGATCGTCCGTCCTTGTCTCTGTCCTTGTCATAGCTGAAGATCAGGTCCTTGTCGGGAAGATGAAGAGTCCTTGTCGAAGATCAGGACCGAAAACCGAAAACCAACGAAGATCAGGAAAAGAAAACCAACGAAAACCAATTAGAGAAGATCAGGAAGATCAGCGCTTGGGCATAATGAAGATCAGAGTCAGATGAAGATCAGCAGTGGAAAACCAGAAAACCAAACCCTACCTCAGGATGAAGATCAGAAACCAAAAAAACCAATGAAAACCAAAAATATAGTCGAAGATCAGAAACCAAAACCAAACAAAGAAGATCAGCCGCCGAAGATCAGGAAGATCAGGTTATAGTTGTGAAAGGTTTAATGAAAACCAAAATCGTGAAGAAAACCAAAAAACCAACCAAGCGAATGTATTCGCTATCGTGACTGGAAAACCAAAGCCACTTAATATCGATGGGGCTTGACGAAAACCAAAGGAAAACCAAGTGGGAAAACCAACGACGCCTAGCTACCAGAAAACCAATACGCACAGCCCCTGGGACCACAAGAAGAAACTTACAGCGGAAAACCAAAAACCAACGGATATTCTAGCTGTCAGTTACATTTTGGAAGTTCCTTCAGAAAACCAAAGTAAGAAGCACATCTACTACCGCGCTAACATTCTTGCTGAATATAGAGTCGTTGTTTGGATTACCTCCAGTACTACTGCGTTCTTTGGATTAAAATTTGGATTACTGGAACACAAACATTTGGATTAATTAACCCTGATCTCTGGCGGTAAACGGTTTGGATTATTGTTTGGATTACAGTTATTCCGGGGATTAGATATACTGCCAGCTATTTTGGATTATTATGCTATCTTTTGTTTGGATTATTATCCTAGAAACTTTGGATTTTTGGATTAAATACCGAAATGCTTGAGACGTGTGGATTGTTTAACCAAGCATTTGGATTATACATTTGGATTAATTTTTGGATTATTGGATTAGATTTATTCCGGTCGCTTCTCGCTTTTTTGGATTATAGCAGTTATTTTGGATTACACCGCCCAGAATAACGAGCACTTGGCTTAGCTAGCTTTGGATTAGATTATGTCCTTTGGATTAGCATTCACACCATCGCGATTGGAAGGCTCAATTTTGGATTAAACCATTGACAATGGAGCCCACAGCACGTTTGGATTAGTGGGTCACTTTGGATTATTTGGATTATTTTTGGATTATATTTTGGATTTTGGATTATTATTGCTCGGGATTTCTAACTATGAACCAATTCTAAACAACTAACTATGCTAACTATGATGTTTTGCGCGTTAATCTCCCTAACTATGGACGGGAGCGCTTGCCGGTCGACTAACTATGAGCGTCAAGTGGTCGAAAGGGCCTAACCGCCTAACTATGGCTAACTATGCGACCTAGTAGCATGAAAACAACAACTATGCCTAACTATGACTAACTATGACTAACTATGGTGTTACACAAGTATCATTAGCATAAGCCACCTAACTATGCAATGTCCGGGGTAGTTACATAGTCGTGGACTACATTCTAACTATGACTGGTGCCTAACTATGTAGTCCTAACTATGCTACTAACTATGTATGTCCTAACTATGTGCCATGCCCAAGCTAACTATGCCTAACTATGCCTAACTATGTGGACGGCATACGTATTGCGTATAAACGCAATATGTATTGCTAAACGCAATTGTGCACGTATAAACTAACTATGTCGAAACCCCACTAACTATGTAACCTAACTATGCAATTATCCTGCTAACTATGCTAACTATGAAACGCAAATTGCGTGGAGGTCTCTAACTAACTATGGCAAGTATAACTAACTATGCGTAAACGCAAGCAAAGCAATGCGTTGGTATGCTAAACGCAATGTATTGCGTATGCGGCAGTACCGTTAAACGCAATATTGCGTGACGATAGTCCATAAACGCAATCTGTCCCGGAAGTTCCGTCACCTTAAACGCAATGTAAACGCAACCATGCTTTGTATTGCGTTAAACGCAACGCAATTAAACGCAAGCGTATTGCGTAGTTTGGTATTGCGTGTATTGCGTGGATCCGTGGAATAAACGCAATTATTGCGTTGGTTTCCTTGCTCCGGTGTTAAACGCAAGCCTCCCGCAGTATTGCGTCAAGTTAAATAAACGCAATAATCTCCCGATCTTAAATAAACGCAAACTCACGCAGGTTTTTTAAACGCAAGCAATTGCGTTTCACTTAAACGCAAGCAATAATGCGCACCCAGCATTAAAGCCTATGGACGCTCCCTTCATATTATAGTCTTATGTGTGCAACCGGTTGCCAGACCTATAAAATCATGACAGAAATTGGGAAACAGTCCAATGCTAATCATCTGTTCAGGTGGCTGGACACAGTCCAATGTGTCAATGTACGGACGTCACATTCGCTAAGGGCTATGGTATTATTGAGAAGACTTCACAAGCTTTTAACGATAAGCCGGCTCGGAGTCTGCTTCAAAAATCCGAGCCACCCATCCACAGCTGTGGTTGTCAATCGTCTGTCACTACAAGGTTGCCCATTCCTGAATGTTAAGCTAAAGAATCGAGGGACGACAATATCGTGCGCCTCTAACCTTAGACTCCATCGTGTCGACTGTGATTTACCGCACCTCTCCGGCCTCGTTAATCGTGATAGTAGTACGCGGTCAATTGAATCCAAGTAATCTTGATTTGGAACAAGGTAATGACACTACACATTACGGAGACAGAGCCCACCGAGTCATGAGAGTATTTTAACTTTGCAAGGGCCTCGATCTGATGCGGATTACTCCGACATGCCTATGCTGATGTACCTCATGGTCTCCTCCCACGATAGTCGTGAGACCCTACAGAGGCCGCGTCCCCCTTATTTCCTGAGTATCCGCACCCCTAGGAATTACGTGTAAGACGTGATACCACAGATCGGTACTCCGACGGCCTCGGGGAACCAGGCGGTTTATAGTTTAGTCATGGAACTCATGTAAATCGAATTGCAGGAGCCTACCCATCGGTGCTGATCGTCTTGGTGAAATACCCTATAAAGATACTGGCGCTACCTCACCTGTACCTTTTCGTTTGCGCCGTTAAATCGGAAATGGGGGTACCATGTACCCTCTAAATCCGCCTGGCATCCGCCAAGGTATAAAGTGATTGCTGCGTGTGAAGAGGATCTAGTCGATTTTCGCAGTGGCGAGCTACGTAAACGTTCTCACCTGCCTGAGAGTTAATGAGTAACAGATATCGTATTAGTGTGCCACTCATGCGCTCTACAACCCTAAACTCAACTGGCCTTACGGCCGAGCCTATGCGAGTAATGAGTTCGCTCCAAAGGAAGACACCCACAAGCTGTTGGATAGTGGCCCCTCGGACTGTTCGCCGCATAAAGGGTGATGCAACAACCTCAACGTAGGAAATTCCTGACGGTCTCAATCTACGAGTATTTTTCTTACCCGGCGCGCAGGGGCTCAATCGGATCCTGTGGGCACCCGACCTTGCTACTCGGAACTGACCGAGAGAACTAACGAAATTTCGTGATCGTGATGACCGAGACGTCTTGTCTTTATGCATGACCGAGAGACTGACCGAGATAGGCCCTACACTGACCGAGACCCGGGCGTGTCTCACTGGCGAATTACGTAGAGCGAGTTCGTGACCGAGATAGTCAATGATGACCGAGACTAGTGATTAAGCTTTGACCGAGACCCATTTTGTAAGCTAGTACTGAACTTAAGCTAGTTTTCTGACCGAGATGACCGAGAAAGTAATGACCGAGACTAGTTCGTTGACCGAGAGACCGAGATCTGTGACCGAGAAGACTGACCGAGATGTAAGCTAGTTATATGACCGAGATATGACCGAGACGCAAAATGACCGAGAAGTTGACCGAGATCAGGTTTGATGACCGAGAAAGTCCGAACCCGTGGATTAAGCTAGTGTAATAATATGACCGTGACCGAGAGTGACCGAGAGTGCTAAGCTAGTGACCGAGATAGTAAGCTAGTGATTAAGCTATGACCGAGAGAAGATCGATTTAGCCAACTCCACTGACCGAGACGAGAAACGCTGCTATCCCGTTGACCGAGAACTTACAAAGGGTTTCATGTGTTCTCATAAGCTTAAGCTAGTCTAGTGGTAGTATTAAGCTAGTCTCCGCCTATCTGCGTCTTAAGCTAGTAGAGGTTCGTCTCCTATCCGCCTCTAAGCTAGTTATAAACCTCAAGAGTCTGAATGGATATACTTATATCTCTACTCACTTGGCCGGCACCCCGATGGATGGTCCGTCCAAGAACTTTTTTGTCCCAATTCTAACTCAGGTTCATAAGCGACTCTTGGTGGAACCCTACTACGCTACTACGACTACGATATCGTCCTGTACAGGACTACTACGATACGATACTTCGGGCGACGGACTGCTACTACGAGCTACTACGACGAGGATTTTGGAAGTATCTTCCGTAACTACTAGACCATCACTTGAGCTCGCGCCCCTGATCTACTACGAAATTACTCTACTACGACGAGGGGTCTACTACGACCTACTACGAACAATCGTAGACACAGAGTTGACGCAAGACCCCCCGGCTACTACGAGCTACTACGATACGAGCAGGCTCATTCACTGGGAGGCGGTTAACATGCCATCGTATACTACTACGAGGAAAACCCGTTGCTACTACTACGAGGTCAGAGTTGCTACTACGAGTTTATTGCACAGCAGATGAGGTCTACTACGAAGAACGCCCTACTACGAGACAGCTACTACGACTACTACGATGGCTTGATTACTGCGAAGATGGCCAGCTAGGTGACTGGCGCATATAGACCACGACGGCTACTACGATACGACCATGGTGACGAGGTTACCCTACTACGAACACTCTACCTACTACGATCGGGCTCTACTACCTACTACTACTACGAAAGAGTAACAGTCCGTAAGATAGGTCACCATTGGGGCCGCCTCCGAGTGTGGAAAGCCCGGTGAGAACGATCTAACCGTACACGATTAGTGTTTCTCGTAGCCTTTAAACGAAATACGAGGCACCGTCGGCGCTCGAACAGACGGTCTTGCTGTGCCCGGCCATCTCACTAGCAGTACAGGGTAGTCTGTGCCAAAGCATGACCCTACGACCCGAAGATATCCCGCTCAACTGTCTAAAAATTCCAATGAGACTGACTCACTAGCTACTCTTGGAACGACCACTCGTGCATAGGTTCTCTCGTCCTTCTATATAACAGTATGTCGGCGGCCCTATCTTTGCATGAGCGTGCAGCCGTATGCTACAGTGTGCAGTAAGAACTATTAGGGAAGCCTCAGCCCCCCTAACACCGCGCTGTGCTTATACGATGAAAGGCTCTACACAAACACCGTACAGTCTGTGCAGTCCCACGTGCACTTTTGTTCATTGTATGGCTGGTCTACTTTTCAATGACATGGATAATCCACGGGTGCATTAGTAACAGACATCGTCGGCATTGCCCAGTCTGTTCCACCGTTGTCGGAGTGCCCTCATGAGTGTTCTGAACAAAAGAATGTGAGTATCTTGTAACGGATCAGAGTGCAAGGTGTCATTGGCCCCTGGTGGGCCCCTGGTCCCGTAGAACCCAACGTGACGCCCCTGGTCTGGTACAAGCGTAAGACTTAGGCCCCGCCCCTGGTCGCTACGCCCCTGGTACTCCATGCGCCCCTGGTTGCCCCTGGTGCAAGCAAGTTACGACATCACGGCCGACCGCTGGAGCCTCGAACGAGAGCCCCTGGTCTTCATGCCCCTGGTGGCCCCTGGTAAGAGAGCCCCGCCCCTGGTGTGGGTTAATATCACGATTGCTGAGCTGACGCCCAGGTTTGGTAAGGCCCCTGGTTTTGATGCGCCGCCCCTGGTGCGATGAGCTCCATTACTCCGGACGCGCCCCTGGTGTGAGCTATAGTTAGGACTGCTACGCGCCCCTGGTAACGACGTATGCGGCCCCTGGTCCAGGGGCTAGCCCCTGGTCCTGGTTAGTAGTACGGCCCGACGATACCTTGCCGCCCCTGGTCCTGGTCTACCGCAACTCACCGGTTGGCTAGGTTGTATGACGACTGAGTTGTAAGCCCCTGGTGAAATCGCCCCTGGTCTTATAAAGCCCGCCCCTGGTGGTGCCCCTGGTCCCTGGTTTGAGCCCCTGGTACAGCAAGTGATTGCGTAAGTCTGATTGACAAAACGATTGAGGGCTCGTACTATTCCATTCGGTTACGCGCTCGCCCATACCACCGCTCGTAGTACGCGGTATTGATCATCCCCCGCATTTTGCGTATCGGCTCCGATAGTAATGACCCGGAACGCTCAATTGGTCAGGGGCCGCCCCGTTAATCGCATATGATTGGTCACTGGAGCCATCAGCCCTGGGGGTGGCAAGCTAAAGAGCACCACAGCCCCATTCGGCGAGCCGGCTCGACTTACGTATCACCATAATGGAGCAGCAAGGCAGTTTGGTAAAGACCAGATGAAGGAAGGGTCGCGCCCGTCGCATCGACCGTGCTTATATCGCACGTGGACGCCTCACTCACCAGGACATATTGCGACATGATTACCAAATTGCACCGGGATAATCGTCTGACCCGCAGGGAGCAGGTTTGAGCTTCGGCTCTTATTTAGTACTTGAGGGAGCAGGCAGAGGGAGCAGAAGGGAGCAGGAAGAAGTACTTGCAGTCTGGTATTCCATCACTATGGATAAGGGAAGGGAGCAGGAGGGAGCAGCCAAAGGGAGCAAGGGAGCAGCCCGGTTGATAGCGTCTCTTAAGAGGGAGCAGGACAGTAGGGAGGATGGCGGAACCCGGATTTAGTTAGGAGGATGGCGGTGCAGGATGGCGGGCAGGGAGCAGGGATGGCGGTGAGAGGGAGCAGAACTGGTGATTCACCTGTGATTCACGGTGATTCACGGCGGATGGCGTGATTCACAGCAGGGTTAAGGTAGGGATGGTGATTCACGATGTGATTCACAGGGAGCAGGCTCCGGGCGGGTGATTCACGGGGTGATTCAGTGATTCACGGGGAGTGATTCACGGGAGCAGGGATGGCGGGGGGTGATTCACCACGGGCCGTTGTGAGTGATTCACGGATGTGATTCACAGTGATTCACATGGCGGGTTGTTGTGATTCACGATTCACAAGGGAGCAGAGGGAAAGTGATTCACACGCCGTTCGGGTTCCCAACTGGGAGGATGGCGGTTAAGGATGGTGATTCACGGGTTCGGGTGATTGTGATGTGATTCACGAGGATGGCGGGCGGTGACGACGTGATTCACGAAGTGATTCACATGGCGGGCCGGATGGCGTGATTCACTGATTCACGGACTATGGTGATTCACGATGGGTGATTCACCGTTTGTAAATCCGCGGGCCGTTGTTTTATACCGGGCGTGATTCACACTGTGATTCACTCGGGCCGTTCGGGCCGTTGTGATTCACCGGGCCGTTCGGGCCGTT"
kmer_clumps(s, 9, 516, 19)


1 loops, best of 3: 1.59 s per loop

In [430]:
%%timeit
s = "CCAAACGAGGCATTGGCGGGGGATTGAAATTCTTGATGGCTGAGCACTGACTGAGCACTGGAGGATCTGAGCACTGCTGAGCACTGAGGCTCGATGGCCATAAAAAACCCTGATGGGTGGATCTGAGCATAAAAAAACTCCCGGGCATAAAAAATCATAAAAAAGCACTGCATAAAAAAACTGCATAAAAAACGTAGTCCTGCAGATCAGATGGGTGGCCATAAAAAACATAAAAAACACTGGTAGATGGGTGCATAAAAAACATAAAAAAGAGCACTGGTGGGCATAAAAAACTGCATAAAAAAAGACGCTACACATAAAAAAGGGCATAAAAAACCTGAGCACTCTTCTGAGCACTATGGGTGGGCTCATAAAAAAAACCATAAAAAACATAAAAAAATGGGTCTGACTGAGCACTCACTCAGATGGGTGCTGCATAAAAAACATAACATAAAAAAAGCACTAAGCTCTGGATGGGTGGGACTGAGCACTCATAAAAAAACCTGAGCATAAAAAATGAGCACTACGTTCATAAAAAAGATGGGTGGGGCTGAGCATAAAAAAAAAAACATAAAAAATGGGTGATGGGTGGGGTCTTCAATAACATAAAAAATAAAAAAATGCGCCGGTCCATAAAAAACATAAAAAAAACATAAAAAAATAGGTCTTGTCTTCAACATAAAAAAGCAAACTTGGTCTTCAATCATGACGTATGGTCAAGGGCTTGGATAAGTCTTCAATGTCTTCAATAATGAGCAGGCTTCGTCTTCAATAATTCAATCCTGTTCATCGTCTTCAATAAATTGGAGGTTAGCATGGGAAAGGTCTTCAATCTTCAATGGGGACGGTCTTCAATTTTTGAGGCTGATAACGATAGTCTCGGGTGTCTTCAATGTCTTCAATTCTTCGATTTGTCTTCAGTCTTGTCTTCAATGATTTCCAGGGAGTGATCTGGTGACGCTTTCTCCGGGTCTGTCTTCAATCGTCTTCAATGTCTTCAATCACGGTCTTCAATTATGCGGGGGCCGGCTCCACGGTGTTTATTCGAGTTTACACCTGGGAGTTTAGAACGCCACGAGTCGTCTTCAATTATCTCCATTAGTAGTCTTCAATCTGCAATCCAGTCTTCAAGTCTTCAATAATTTCGGATGCAGTCTTCAATGCGTTGCGCACTTAACGGCAGTTCCCCATTTTTCGCGTAATCCGGCATGACGCTGGACCGTTGGTTACGGGGCTCGTTGGAAGGCCCGTGGCTGGCTAGGCATTGGGATCATGTAATGTTATATCCTTCGGCTCGCGTATGCATCCTTGCATCTTGCATACTGCATACCCTCTTGCATACCTTGCATACACGGCCCTCACCACTTGAGACCGCCGCAACGTGCGACTTGCATACCTGCTCCCAAGGTGTGATTTGTTGTTACATGTGATCCTTGCATACTTATCCTTGCATACTACGTTTCAACGAGGCTCTTGCATACTGAGTTGGCTGGTCCCTCTTGCATACTACCCTCGCCCCAGTAGGTGGTGTAAACCTGCCTCTGTGTTCGAGCTTGCATACAGTCCCACGGCTTGCATACCACTTGCATACTTGCTTGCATACAAAGTCTGACTTGCATACTCACCACCGCTTGCATACCCGATCAATTCCCTGCGGCCTTGCATACATGGCCGTGATTATTGCCGCTAGCGCCTTTACCATGGACACCACCGGCACCACAAGAGAGGCCTCTTGCATACGCCCGGGCTGTCTTGCATACTGAATGCGTGTCAAGTTATTCTCTCTTGGTCCTTGTCAGCAAACTTGCATACCAGCAGGGGGAAGCTTGAAGGCTGCTTGCGTCCTTGTCGTAGACCTGTCCTTGTCTATTGTGGACCTTATCTTGGTCCTTGTCGTCATACAGAGTGTGACCAATATGTTCCCCCGTGAGATCTCGTTGGCGTCCTTGTCCCGCTTTCGAAACGCGGTTCCTGGCTTATCGTCCTTGTCTTGTCCTTGTCGTCCTTGTCGTCCTTGTCGTCGCGGTCCTTGTCCCTTTGTTCTTGTCCTTGTCTGTCCTTGTGGTCCGTCCTTGTCCGAAGATCAGTCCGTCCTTGTCTCAGGCGGCGTGTACTTAGGGCAAGTCCTTGTCAGAGATCAGGGAAGATCAGAAGATCAGTGTCCTTGTCGTCCACGGTCCTTGTCATCAGGGTGAAGATCAGGAGTAGAAGATGGTCGTCCTTGTCGAAGATCGTCCGTCCTTGTCTCTGTCCTTGTCATAGCTGAAGATCAGGTCCTTGTCGGGAAGATGAAGAGTCCTTGTCGAAGATCAGGACCGAAAACCGAAAACCAACGAAGATCAGGAAAAGAAAACCAACGAAAACCAATTAGAGAAGATCAGGAAGATCAGCGCTTGGGCATAATGAAGATCAGAGTCAGATGAAGATCAGCAGTGGAAAACCAGAAAACCAAACCCTACCTCAGGATGAAGATCAGAAACCAAAAAAACCAATGAAAACCAAAAATATAGTCGAAGATCAGAAACCAAAACCAAACAAAGAAGATCAGCCGCCGAAGATCAGGAAGATCAGGTTATAGTTGTGAAAGGTTTAATGAAAACCAAAATCGTGAAGAAAACCAAAAAACCAACCAAGCGAATGTATTCGCTATCGTGACTGGAAAACCAAAGCCACTTAATATCGATGGGGCTTGACGAAAACCAAAGGAAAACCAAGTGGGAAAACCAACGACGCCTAGCTACCAGAAAACCAATACGCACAGCCCCTGGGACCACAAGAAGAAACTTACAGCGGAAAACCAAAAACCAACGGATATTCTAGCTGTCAGTTACATTTTGGAAGTTCCTTCAGAAAACCAAAGTAAGAAGCACATCTACTACCGCGCTAACATTCTTGCTGAATATAGAGTCGTTGTTTGGATTACCTCCAGTACTACTGCGTTCTTTGGATTAAAATTTGGATTACTGGAACACAAACATTTGGATTAATTAACCCTGATCTCTGGCGGTAAACGGTTTGGATTATTGTTTGGATTACAGTTATTCCGGGGATTAGATATACTGCCAGCTATTTTGGATTATTATGCTATCTTTTGTTTGGATTATTATCCTAGAAACTTTGGATTTTTGGATTAAATACCGAAATGCTTGAGACGTGTGGATTGTTTAACCAAGCATTTGGATTATACATTTGGATTAATTTTTGGATTATTGGATTAGATTTATTCCGGTCGCTTCTCGCTTTTTTGGATTATAGCAGTTATTTTGGATTACACCGCCCAGAATAACGAGCACTTGGCTTAGCTAGCTTTGGATTAGATTATGTCCTTTGGATTAGCATTCACACCATCGCGATTGGAAGGCTCAATTTTGGATTAAACCATTGACAATGGAGCCCACAGCACGTTTGGATTAGTGGGTCACTTTGGATTATTTGGATTATTTTTGGATTATATTTTGGATTTTGGATTATTATTGCTCGGGATTTCTAACTATGAACCAATTCTAAACAACTAACTATGCTAACTATGATGTTTTGCGCGTTAATCTCCCTAACTATGGACGGGAGCGCTTGCCGGTCGACTAACTATGAGCGTCAAGTGGTCGAAAGGGCCTAACCGCCTAACTATGGCTAACTATGCGACCTAGTAGCATGAAAACAACAACTATGCCTAACTATGACTAACTATGACTAACTATGGTGTTACACAAGTATCATTAGCATAAGCCACCTAACTATGCAATGTCCGGGGTAGTTACATAGTCGTGGACTACATTCTAACTATGACTGGTGCCTAACTATGTAGTCCTAACTATGCTACTAACTATGTATGTCCTAACTATGTGCCATGCCCAAGCTAACTATGCCTAACTATGCCTAACTATGTGGACGGCATACGTATTGCGTATAAACGCAATATGTATTGCTAAACGCAATTGTGCACGTATAAACTAACTATGTCGAAACCCCACTAACTATGTAACCTAACTATGCAATTATCCTGCTAACTATGCTAACTATGAAACGCAAATTGCGTGGAGGTCTCTAACTAACTATGGCAAGTATAACTAACTATGCGTAAACGCAAGCAAAGCAATGCGTTGGTATGCTAAACGCAATGTATTGCGTATGCGGCAGTACCGTTAAACGCAATATTGCGTGACGATAGTCCATAAACGCAATCTGTCCCGGAAGTTCCGTCACCTTAAACGCAATGTAAACGCAACCATGCTTTGTATTGCGTTAAACGCAACGCAATTAAACGCAAGCGTATTGCGTAGTTTGGTATTGCGTGTATTGCGTGGATCCGTGGAATAAACGCAATTATTGCGTTGGTTTCCTTGCTCCGGTGTTAAACGCAAGCCTCCCGCAGTATTGCGTCAAGTTAAATAAACGCAATAATCTCCCGATCTTAAATAAACGCAAACTCACGCAGGTTTTTTAAACGCAAGCAATTGCGTTTCACTTAAACGCAAGCAATAATGCGCACCCAGCATTAAAGCCTATGGACGCTCCCTTCATATTATAGTCTTATGTGTGCAACCGGTTGCCAGACCTATAAAATCATGACAGAAATTGGGAAACAGTCCAATGCTAATCATCTGTTCAGGTGGCTGGACACAGTCCAATGTGTCAATGTACGGACGTCACATTCGCTAAGGGCTATGGTATTATTGAGAAGACTTCACAAGCTTTTAACGATAAGCCGGCTCGGAGTCTGCTTCAAAAATCCGAGCCACCCATCCACAGCTGTGGTTGTCAATCGTCTGTCACTACAAGGTTGCCCATTCCTGAATGTTAAGCTAAAGAATCGAGGGACGACAATATCGTGCGCCTCTAACCTTAGACTCCATCGTGTCGACTGTGATTTACCGCACCTCTCCGGCCTCGTTAATCGTGATAGTAGTACGCGGTCAATTGAATCCAAGTAATCTTGATTTGGAACAAGGTAATGACACTACACATTACGGAGACAGAGCCCACCGAGTCATGAGAGTATTTTAACTTTGCAAGGGCCTCGATCTGATGCGGATTACTCCGACATGCCTATGCTGATGTACCTCATGGTCTCCTCCCACGATAGTCGTGAGACCCTACAGAGGCCGCGTCCCCCTTATTTCCTGAGTATCCGCACCCCTAGGAATTACGTGTAAGACGTGATACCACAGATCGGTACTCCGACGGCCTCGGGGAACCAGGCGGTTTATAGTTTAGTCATGGAACTCATGTAAATCGAATTGCAGGAGCCTACCCATCGGTGCTGATCGTCTTGGTGAAATACCCTATAAAGATACTGGCGCTACCTCACCTGTACCTTTTCGTTTGCGCCGTTAAATCGGAAATGGGGGTACCATGTACCCTCTAAATCCGCCTGGCATCCGCCAAGGTATAAAGTGATTGCTGCGTGTGAAGAGGATCTAGTCGATTTTCGCAGTGGCGAGCTACGTAAACGTTCTCACCTGCCTGAGAGTTAATGAGTAACAGATATCGTATTAGTGTGCCACTCATGCGCTCTACAACCCTAAACTCAACTGGCCTTACGGCCGAGCCTATGCGAGTAATGAGTTCGCTCCAAAGGAAGACACCCACAAGCTGTTGGATAGTGGCCCCTCGGACTGTTCGCCGCATAAAGGGTGATGCAACAACCTCAACGTAGGAAATTCCTGACGGTCTCAATCTACGAGTATTTTTCTTACCCGGCGCGCAGGGGCTCAATCGGATCCTGTGGGCACCCGACCTTGCTACTCGGAACTGACCGAGAGAACTAACGAAATTTCGTGATCGTGATGACCGAGACGTCTTGTCTTTATGCATGACCGAGAGACTGACCGAGATAGGCCCTACACTGACCGAGACCCGGGCGTGTCTCACTGGCGAATTACGTAGAGCGAGTTCGTGACCGAGATAGTCAATGATGACCGAGACTAGTGATTAAGCTTTGACCGAGACCCATTTTGTAAGCTAGTACTGAACTTAAGCTAGTTTTCTGACCGAGATGACCGAGAAAGTAATGACCGAGACTAGTTCGTTGACCGAGAGACCGAGATCTGTGACCGAGAAGACTGACCGAGATGTAAGCTAGTTATATGACCGAGATATGACCGAGACGCAAAATGACCGAGAAGTTGACCGAGATCAGGTTTGATGACCGAGAAAGTCCGAACCCGTGGATTAAGCTAGTGTAATAATATGACCGTGACCGAGAGTGACCGAGAGTGCTAAGCTAGTGACCGAGATAGTAAGCTAGTGATTAAGCTATGACCGAGAGAAGATCGATTTAGCCAACTCCACTGACCGAGACGAGAAACGCTGCTATCCCGTTGACCGAGAACTTACAAAGGGTTTCATGTGTTCTCATAAGCTTAAGCTAGTCTAGTGGTAGTATTAAGCTAGTCTCCGCCTATCTGCGTCTTAAGCTAGTAGAGGTTCGTCTCCTATCCGCCTCTAAGCTAGTTATAAACCTCAAGAGTCTGAATGGATATACTTATATCTCTACTCACTTGGCCGGCACCCCGATGGATGGTCCGTCCAAGAACTTTTTTGTCCCAATTCTAACTCAGGTTCATAAGCGACTCTTGGTGGAACCCTACTACGCTACTACGACTACGATATCGTCCTGTACAGGACTACTACGATACGATACTTCGGGCGACGGACTGCTACTACGAGCTACTACGACGAGGATTTTGGAAGTATCTTCCGTAACTACTAGACCATCACTTGAGCTCGCGCCCCTGATCTACTACGAAATTACTCTACTACGACGAGGGGTCTACTACGACCTACTACGAACAATCGTAGACACAGAGTTGACGCAAGACCCCCCGGCTACTACGAGCTACTACGATACGAGCAGGCTCATTCACTGGGAGGCGGTTAACATGCCATCGTATACTACTACGAGGAAAACCCGTTGCTACTACTACGAGGTCAGAGTTGCTACTACGAGTTTATTGCACAGCAGATGAGGTCTACTACGAAGAACGCCCTACTACGAGACAGCTACTACGACTACTACGATGGCTTGATTACTGCGAAGATGGCCAGCTAGGTGACTGGCGCATATAGACCACGACGGCTACTACGATACGACCATGGTGACGAGGTTACCCTACTACGAACACTCTACCTACTACGATCGGGCTCTACTACCTACTACTACTACGAAAGAGTAACAGTCCGTAAGATAGGTCACCATTGGGGCCGCCTCCGAGTGTGGAAAGCCCGGTGAGAACGATCTAACCGTACACGATTAGTGTTTCTCGTAGCCTTTAAACGAAATACGAGGCACCGTCGGCGCTCGAACAGACGGTCTTGCTGTGCCCGGCCATCTCACTAGCAGTACAGGGTAGTCTGTGCCAAAGCATGACCCTACGACCCGAAGATATCCCGCTCAACTGTCTAAAAATTCCAATGAGACTGACTCACTAGCTACTCTTGGAACGACCACTCGTGCATAGGTTCTCTCGTCCTTCTATATAACAGTATGTCGGCGGCCCTATCTTTGCATGAGCGTGCAGCCGTATGCTACAGTGTGCAGTAAGAACTATTAGGGAAGCCTCAGCCCCCCTAACACCGCGCTGTGCTTATACGATGAAAGGCTCTACACAAACACCGTACAGTCTGTGCAGTCCCACGTGCACTTTTGTTCATTGTATGGCTGGTCTACTTTTCAATGACATGGATAATCCACGGGTGCATTAGTAACAGACATCGTCGGCATTGCCCAGTCTGTTCCACCGTTGTCGGAGTGCCCTCATGAGTGTTCTGAACAAAAGAATGTGAGTATCTTGTAACGGATCAGAGTGCAAGGTGTCATTGGCCCCTGGTGGGCCCCTGGTCCCGTAGAACCCAACGTGACGCCCCTGGTCTGGTACAAGCGTAAGACTTAGGCCCCGCCCCTGGTCGCTACGCCCCTGGTACTCCATGCGCCCCTGGTTGCCCCTGGTGCAAGCAAGTTACGACATCACGGCCGACCGCTGGAGCCTCGAACGAGAGCCCCTGGTCTTCATGCCCCTGGTGGCCCCTGGTAAGAGAGCCCCGCCCCTGGTGTGGGTTAATATCACGATTGCTGAGCTGACGCCCAGGTTTGGTAAGGCCCCTGGTTTTGATGCGCCGCCCCTGGTGCGATGAGCTCCATTACTCCGGACGCGCCCCTGGTGTGAGCTATAGTTAGGACTGCTACGCGCCCCTGGTAACGACGTATGCGGCCCCTGGTCCAGGGGCTAGCCCCTGGTCCTGGTTAGTAGTACGGCCCGACGATACCTTGCCGCCCCTGGTCCTGGTCTACCGCAACTCACCGGTTGGCTAGGTTGTATGACGACTGAGTTGTAAGCCCCTGGTGAAATCGCCCCTGGTCTTATAAAGCCCGCCCCTGGTGGTGCCCCTGGTCCCTGGTTTGAGCCCCTGGTACAGCAAGTGATTGCGTAAGTCTGATTGACAAAACGATTGAGGGCTCGTACTATTCCATTCGGTTACGCGCTCGCCCATACCACCGCTCGTAGTACGCGGTATTGATCATCCCCCGCATTTTGCGTATCGGCTCCGATAGTAATGACCCGGAACGCTCAATTGGTCAGGGGCCGCCCCGTTAATCGCATATGATTGGTCACTGGAGCCATCAGCCCTGGGGGTGGCAAGCTAAAGAGCACCACAGCCCCATTCGGCGAGCCGGCTCGACTTACGTATCACCATAATGGAGCAGCAAGGCAGTTTGGTAAAGACCAGATGAAGGAAGGGTCGCGCCCGTCGCATCGACCGTGCTTATATCGCACGTGGACGCCTCACTCACCAGGACATATTGCGACATGATTACCAAATTGCACCGGGATAATCGTCTGACCCGCAGGGAGCAGGTTTGAGCTTCGGCTCTTATTTAGTACTTGAGGGAGCAGGCAGAGGGAGCAGAAGGGAGCAGGAAGAAGTACTTGCAGTCTGGTATTCCATCACTATGGATAAGGGAAGGGAGCAGGAGGGAGCAGCCAAAGGGAGCAAGGGAGCAGCCCGGTTGATAGCGTCTCTTAAGAGGGAGCAGGACAGTAGGGAGGATGGCGGAACCCGGATTTAGTTAGGAGGATGGCGGTGCAGGATGGCGGGCAGGGAGCAGGGATGGCGGTGAGAGGGAGCAGAACTGGTGATTCACCTGTGATTCACGGTGATTCACGGCGGATGGCGTGATTCACAGCAGGGTTAAGGTAGGGATGGTGATTCACGATGTGATTCACAGGGAGCAGGCTCCGGGCGGGTGATTCACGGGGTGATTCAGTGATTCACGGGGAGTGATTCACGGGAGCAGGGATGGCGGGGGGTGATTCACCACGGGCCGTTGTGAGTGATTCACGGATGTGATTCACAGTGATTCACATGGCGGGTTGTTGTGATTCACGATTCACAAGGGAGCAGAGGGAAAGTGATTCACACGCCGTTCGGGTTCCCAACTGGGAGGATGGCGGTTAAGGATGGTGATTCACGGGTTCGGGTGATTGTGATGTGATTCACGAGGATGGCGGGCGGTGACGACGTGATTCACGAAGTGATTCACATGGCGGGCCGGATGGCGTGATTCACTGATTCACGGACTATGGTGATTCACGATGGGTGATTCACCGTTTGTAAATCCGCGGGCCGTTGTTTTATACCGGGCGTGATTCACACTGTGATTCACTCGGGCCGTTCGGGCCGTTGTGATTCACCGGGCCGTTCGGGCCGTT"
kmer_clumps(pf_genome["Pf3D7_10_v3"], 9, 516, 19)


1 loops, best of 3: 5min 13s per loop

Much less efficient version but possible future version?


In [ ]:
def concatenate_bases(list_of_bases):
    return ''.join(list_of_bases)

In [388]:
def occurrences(string, sub):
    """ Counts overlapping string occurrences """
    count = start = 0
    positions = list()
    while True:
        start = string.find(sub, start) + 1
        if start > 0:
            count += 1
            positions.append(start - 1)
        else:
            return [sub, count, positions]

In [420]:
def doesClump(positions, L, t):
    """ Return True or False whether there are clumps found within a list of start positions"""
    differences = list()
    for i in range(len(positions) - 1):
        possible_clump = positions[i:i+L]
        for j in range(len(possible_clump) - 1):
            first = possible_clump[j]
            second = possible_clump[j+1]
            differences.append(first - second)
        if sum(differences) <= L:
            return True
    return False

In [431]:
def kmer_clumps(genome, k, L, t):
    """ Find patterns forming clumps in a string """
    clumps = list()
    kmers = [''.join(bases) for bases in list(itertools.product("ACTG", repeat=k))] # slightly faster implementation than above    
    occ = [occurrences(genome, kmer) for kmer in kmers] # slightly faster implementation than above
    hocc = [[kmer,occurences,positions] for kmer,occurences,positions in occ if occurences >= t]
    #cocc = [[kmer,occurences,positions] for kmer,occurences,positions in hocc if doesClump(positions, L, t)]
    
    return hocc

In [ ]:
%%timeit
s = "CCAAACGAGGCATTGGCGGGGGATTGAAATTCTTGATGGCTGAGCACTGACTGAGCACTGGAGGATCTGAGCACTGCTGAGCACTGAGGCTCGATGGCCATAAAAAACCCTGATGGGTGGATCTGAGCATAAAAAAACTCCCGGGCATAAAAAATCATAAAAAAGCACTGCATAAAAAAACTGCATAAAAAACGTAGTCCTGCAGATCAGATGGGTGGCCATAAAAAACATAAAAAACACTGGTAGATGGGTGCATAAAAAACATAAAAAAGAGCACTGGTGGGCATAAAAAACTGCATAAAAAAAGACGCTACACATAAAAAAGGGCATAAAAAACCTGAGCACTCTTCTGAGCACTATGGGTGGGCTCATAAAAAAAACCATAAAAAACATAAAAAAATGGGTCTGACTGAGCACTCACTCAGATGGGTGCTGCATAAAAAACATAACATAAAAAAAGCACTAAGCTCTGGATGGGTGGGACTGAGCACTCATAAAAAAACCTGAGCATAAAAAATGAGCACTACGTTCATAAAAAAGATGGGTGGGGCTGAGCATAAAAAAAAAAACATAAAAAATGGGTGATGGGTGGGGTCTTCAATAACATAAAAAATAAAAAAATGCGCCGGTCCATAAAAAACATAAAAAAAACATAAAAAAATAGGTCTTGTCTTCAACATAAAAAAGCAAACTTGGTCTTCAATCATGACGTATGGTCAAGGGCTTGGATAAGTCTTCAATGTCTTCAATAATGAGCAGGCTTCGTCTTCAATAATTCAATCCTGTTCATCGTCTTCAATAAATTGGAGGTTAGCATGGGAAAGGTCTTCAATCTTCAATGGGGACGGTCTTCAATTTTTGAGGCTGATAACGATAGTCTCGGGTGTCTTCAATGTCTTCAATTCTTCGATTTGTCTTCAGTCTTGTCTTCAATGATTTCCAGGGAGTGATCTGGTGACGCTTTCTCCGGGTCTGTCTTCAATCGTCTTCAATGTCTTCAATCACGGTCTTCAATTATGCGGGGGCCGGCTCCACGGTGTTTATTCGAGTTTACACCTGGGAGTTTAGAACGCCACGAGTCGTCTTCAATTATCTCCATTAGTAGTCTTCAATCTGCAATCCAGTCTTCAAGTCTTCAATAATTTCGGATGCAGTCTTCAATGCGTTGCGCACTTAACGGCAGTTCCCCATTTTTCGCGTAATCCGGCATGACGCTGGACCGTTGGTTACGGGGCTCGTTGGAAGGCCCGTGGCTGGCTAGGCATTGGGATCATGTAATGTTATATCCTTCGGCTCGCGTATGCATCCTTGCATCTTGCATACTGCATACCCTCTTGCATACCTTGCATACACGGCCCTCACCACTTGAGACCGCCGCAACGTGCGACTTGCATACCTGCTCCCAAGGTGTGATTTGTTGTTACATGTGATCCTTGCATACTTATCCTTGCATACTACGTTTCAACGAGGCTCTTGCATACTGAGTTGGCTGGTCCCTCTTGCATACTACCCTCGCCCCAGTAGGTGGTGTAAACCTGCCTCTGTGTTCGAGCTTGCATACAGTCCCACGGCTTGCATACCACTTGCATACTTGCTTGCATACAAAGTCTGACTTGCATACTCACCACCGCTTGCATACCCGATCAATTCCCTGCGGCCTTGCATACATGGCCGTGATTATTGCCGCTAGCGCCTTTACCATGGACACCACCGGCACCACAAGAGAGGCCTCTTGCATACGCCCGGGCTGTCTTGCATACTGAATGCGTGTCAAGTTATTCTCTCTTGGTCCTTGTCAGCAAACTTGCATACCAGCAGGGGGAAGCTTGAAGGCTGCTTGCGTCCTTGTCGTAGACCTGTCCTTGTCTATTGTGGACCTTATCTTGGTCCTTGTCGTCATACAGAGTGTGACCAATATGTTCCCCCGTGAGATCTCGTTGGCGTCCTTGTCCCGCTTTCGAAACGCGGTTCCTGGCTTATCGTCCTTGTCTTGTCCTTGTCGTCCTTGTCGTCCTTGTCGTCGCGGTCCTTGTCCCTTTGTTCTTGTCCTTGTCTGTCCTTGTGGTCCGTCCTTGTCCGAAGATCAGTCCGTCCTTGTCTCAGGCGGCGTGTACTTAGGGCAAGTCCTTGTCAGAGATCAGGGAAGATCAGAAGATCAGTGTCCTTGTCGTCCACGGTCCTTGTCATCAGGGTGAAGATCAGGAGTAGAAGATGGTCGTCCTTGTCGAAGATCGTCCGTCCTTGTCTCTGTCCTTGTCATAGCTGAAGATCAGGTCCTTGTCGGGAAGATGAAGAGTCCTTGTCGAAGATCAGGACCGAAAACCGAAAACCAACGAAGATCAGGAAAAGAAAACCAACGAAAACCAATTAGAGAAGATCAGGAAGATCAGCGCTTGGGCATAATGAAGATCAGAGTCAGATGAAGATCAGCAGTGGAAAACCAGAAAACCAAACCCTACCTCAGGATGAAGATCAGAAACCAAAAAAACCAATGAAAACCAAAAATATAGTCGAAGATCAGAAACCAAAACCAAACAAAGAAGATCAGCCGCCGAAGATCAGGAAGATCAGGTTATAGTTGTGAAAGGTTTAATGAAAACCAAAATCGTGAAGAAAACCAAAAAACCAACCAAGCGAATGTATTCGCTATCGTGACTGGAAAACCAAAGCCACTTAATATCGATGGGGCTTGACGAAAACCAAAGGAAAACCAAGTGGGAAAACCAACGACGCCTAGCTACCAGAAAACCAATACGCACAGCCCCTGGGACCACAAGAAGAAACTTACAGCGGAAAACCAAAAACCAACGGATATTCTAGCTGTCAGTTACATTTTGGAAGTTCCTTCAGAAAACCAAAGTAAGAAGCACATCTACTACCGCGCTAACATTCTTGCTGAATATAGAGTCGTTGTTTGGATTACCTCCAGTACTACTGCGTTCTTTGGATTAAAATTTGGATTACTGGAACACAAACATTTGGATTAATTAACCCTGATCTCTGGCGGTAAACGGTTTGGATTATTGTTTGGATTACAGTTATTCCGGGGATTAGATATACTGCCAGCTATTTTGGATTATTATGCTATCTTTTGTTTGGATTATTATCCTAGAAACTTTGGATTTTTGGATTAAATACCGAAATGCTTGAGACGTGTGGATTGTTTAACCAAGCATTTGGATTATACATTTGGATTAATTTTTGGATTATTGGATTAGATTTATTCCGGTCGCTTCTCGCTTTTTTGGATTATAGCAGTTATTTTGGATTACACCGCCCAGAATAACGAGCACTTGGCTTAGCTAGCTTTGGATTAGATTATGTCCTTTGGATTAGCATTCACACCATCGCGATTGGAAGGCTCAATTTTGGATTAAACCATTGACAATGGAGCCCACAGCACGTTTGGATTAGTGGGTCACTTTGGATTATTTGGATTATTTTTGGATTATATTTTGGATTTTGGATTATTATTGCTCGGGATTTCTAACTATGAACCAATTCTAAACAACTAACTATGCTAACTATGATGTTTTGCGCGTTAATCTCCCTAACTATGGACGGGAGCGCTTGCCGGTCGACTAACTATGAGCGTCAAGTGGTCGAAAGGGCCTAACCGCCTAACTATGGCTAACTATGCGACCTAGTAGCATGAAAACAACAACTATGCCTAACTATGACTAACTATGACTAACTATGGTGTTACACAAGTATCATTAGCATAAGCCACCTAACTATGCAATGTCCGGGGTAGTTACATAGTCGTGGACTACATTCTAACTATGACTGGTGCCTAACTATGTAGTCCTAACTATGCTACTAACTATGTATGTCCTAACTATGTGCCATGCCCAAGCTAACTATGCCTAACTATGCCTAACTATGTGGACGGCATACGTATTGCGTATAAACGCAATATGTATTGCTAAACGCAATTGTGCACGTATAAACTAACTATGTCGAAACCCCACTAACTATGTAACCTAACTATGCAATTATCCTGCTAACTATGCTAACTATGAAACGCAAATTGCGTGGAGGTCTCTAACTAACTATGGCAAGTATAACTAACTATGCGTAAACGCAAGCAAAGCAATGCGTTGGTATGCTAAACGCAATGTATTGCGTATGCGGCAGTACCGTTAAACGCAATATTGCGTGACGATAGTCCATAAACGCAATCTGTCCCGGAAGTTCCGTCACCTTAAACGCAATGTAAACGCAACCATGCTTTGTATTGCGTTAAACGCAACGCAATTAAACGCAAGCGTATTGCGTAGTTTGGTATTGCGTGTATTGCGTGGATCCGTGGAATAAACGCAATTATTGCGTTGGTTTCCTTGCTCCGGTGTTAAACGCAAGCCTCCCGCAGTATTGCGTCAAGTTAAATAAACGCAATAATCTCCCGATCTTAAATAAACGCAAACTCACGCAGGTTTTTTAAACGCAAGCAATTGCGTTTCACTTAAACGCAAGCAATAATGCGCACCCAGCATTAAAGCCTATGGACGCTCCCTTCATATTATAGTCTTATGTGTGCAACCGGTTGCCAGACCTATAAAATCATGACAGAAATTGGGAAACAGTCCAATGCTAATCATCTGTTCAGGTGGCTGGACACAGTCCAATGTGTCAATGTACGGACGTCACATTCGCTAAGGGCTATGGTATTATTGAGAAGACTTCACAAGCTTTTAACGATAAGCCGGCTCGGAGTCTGCTTCAAAAATCCGAGCCACCCATCCACAGCTGTGGTTGTCAATCGTCTGTCACTACAAGGTTGCCCATTCCTGAATGTTAAGCTAAAGAATCGAGGGACGACAATATCGTGCGCCTCTAACCTTAGACTCCATCGTGTCGACTGTGATTTACCGCACCTCTCCGGCCTCGTTAATCGTGATAGTAGTACGCGGTCAATTGAATCCAAGTAATCTTGATTTGGAACAAGGTAATGACACTACACATTACGGAGACAGAGCCCACCGAGTCATGAGAGTATTTTAACTTTGCAAGGGCCTCGATCTGATGCGGATTACTCCGACATGCCTATGCTGATGTACCTCATGGTCTCCTCCCACGATAGTCGTGAGACCCTACAGAGGCCGCGTCCCCCTTATTTCCTGAGTATCCGCACCCCTAGGAATTACGTGTAAGACGTGATACCACAGATCGGTACTCCGACGGCCTCGGGGAACCAGGCGGTTTATAGTTTAGTCATGGAACTCATGTAAATCGAATTGCAGGAGCCTACCCATCGGTGCTGATCGTCTTGGTGAAATACCCTATAAAGATACTGGCGCTACCTCACCTGTACCTTTTCGTTTGCGCCGTTAAATCGGAAATGGGGGTACCATGTACCCTCTAAATCCGCCTGGCATCCGCCAAGGTATAAAGTGATTGCTGCGTGTGAAGAGGATCTAGTCGATTTTCGCAGTGGCGAGCTACGTAAACGTTCTCACCTGCCTGAGAGTTAATGAGTAACAGATATCGTATTAGTGTGCCACTCATGCGCTCTACAACCCTAAACTCAACTGGCCTTACGGCCGAGCCTATGCGAGTAATGAGTTCGCTCCAAAGGAAGACACCCACAAGCTGTTGGATAGTGGCCCCTCGGACTGTTCGCCGCATAAAGGGTGATGCAACAACCTCAACGTAGGAAATTCCTGACGGTCTCAATCTACGAGTATTTTTCTTACCCGGCGCGCAGGGGCTCAATCGGATCCTGTGGGCACCCGACCTTGCTACTCGGAACTGACCGAGAGAACTAACGAAATTTCGTGATCGTGATGACCGAGACGTCTTGTCTTTATGCATGACCGAGAGACTGACCGAGATAGGCCCTACACTGACCGAGACCCGGGCGTGTCTCACTGGCGAATTACGTAGAGCGAGTTCGTGACCGAGATAGTCAATGATGACCGAGACTAGTGATTAAGCTTTGACCGAGACCCATTTTGTAAGCTAGTACTGAACTTAAGCTAGTTTTCTGACCGAGATGACCGAGAAAGTAATGACCGAGACTAGTTCGTTGACCGAGAGACCGAGATCTGTGACCGAGAAGACTGACCGAGATGTAAGCTAGTTATATGACCGAGATATGACCGAGACGCAAAATGACCGAGAAGTTGACCGAGATCAGGTTTGATGACCGAGAAAGTCCGAACCCGTGGATTAAGCTAGTGTAATAATATGACCGTGACCGAGAGTGACCGAGAGTGCTAAGCTAGTGACCGAGATAGTAAGCTAGTGATTAAGCTATGACCGAGAGAAGATCGATTTAGCCAACTCCACTGACCGAGACGAGAAACGCTGCTATCCCGTTGACCGAGAACTTACAAAGGGTTTCATGTGTTCTCATAAGCTTAAGCTAGTCTAGTGGTAGTATTAAGCTAGTCTCCGCCTATCTGCGTCTTAAGCTAGTAGAGGTTCGTCTCCTATCCGCCTCTAAGCTAGTTATAAACCTCAAGAGTCTGAATGGATATACTTATATCTCTACTCACTTGGCCGGCACCCCGATGGATGGTCCGTCCAAGAACTTTTTTGTCCCAATTCTAACTCAGGTTCATAAGCGACTCTTGGTGGAACCCTACTACGCTACTACGACTACGATATCGTCCTGTACAGGACTACTACGATACGATACTTCGGGCGACGGACTGCTACTACGAGCTACTACGACGAGGATTTTGGAAGTATCTTCCGTAACTACTAGACCATCACTTGAGCTCGCGCCCCTGATCTACTACGAAATTACTCTACTACGACGAGGGGTCTACTACGACCTACTACGAACAATCGTAGACACAGAGTTGACGCAAGACCCCCCGGCTACTACGAGCTACTACGATACGAGCAGGCTCATTCACTGGGAGGCGGTTAACATGCCATCGTATACTACTACGAGGAAAACCCGTTGCTACTACTACGAGGTCAGAGTTGCTACTACGAGTTTATTGCACAGCAGATGAGGTCTACTACGAAGAACGCCCTACTACGAGACAGCTACTACGACTACTACGATGGCTTGATTACTGCGAAGATGGCCAGCTAGGTGACTGGCGCATATAGACCACGACGGCTACTACGATACGACCATGGTGACGAGGTTACCCTACTACGAACACTCTACCTACTACGATCGGGCTCTACTACCTACTACTACTACGAAAGAGTAACAGTCCGTAAGATAGGTCACCATTGGGGCCGCCTCCGAGTGTGGAAAGCCCGGTGAGAACGATCTAACCGTACACGATTAGTGTTTCTCGTAGCCTTTAAACGAAATACGAGGCACCGTCGGCGCTCGAACAGACGGTCTTGCTGTGCCCGGCCATCTCACTAGCAGTACAGGGTAGTCTGTGCCAAAGCATGACCCTACGACCCGAAGATATCCCGCTCAACTGTCTAAAAATTCCAATGAGACTGACTCACTAGCTACTCTTGGAACGACCACTCGTGCATAGGTTCTCTCGTCCTTCTATATAACAGTATGTCGGCGGCCCTATCTTTGCATGAGCGTGCAGCCGTATGCTACAGTGTGCAGTAAGAACTATTAGGGAAGCCTCAGCCCCCCTAACACCGCGCTGTGCTTATACGATGAAAGGCTCTACACAAACACCGTACAGTCTGTGCAGTCCCACGTGCACTTTTGTTCATTGTATGGCTGGTCTACTTTTCAATGACATGGATAATCCACGGGTGCATTAGTAACAGACATCGTCGGCATTGCCCAGTCTGTTCCACCGTTGTCGGAGTGCCCTCATGAGTGTTCTGAACAAAAGAATGTGAGTATCTTGTAACGGATCAGAGTGCAAGGTGTCATTGGCCCCTGGTGGGCCCCTGGTCCCGTAGAACCCAACGTGACGCCCCTGGTCTGGTACAAGCGTAAGACTTAGGCCCCGCCCCTGGTCGCTACGCCCCTGGTACTCCATGCGCCCCTGGTTGCCCCTGGTGCAAGCAAGTTACGACATCACGGCCGACCGCTGGAGCCTCGAACGAGAGCCCCTGGTCTTCATGCCCCTGGTGGCCCCTGGTAAGAGAGCCCCGCCCCTGGTGTGGGTTAATATCACGATTGCTGAGCTGACGCCCAGGTTTGGTAAGGCCCCTGGTTTTGATGCGCCGCCCCTGGTGCGATGAGCTCCATTACTCCGGACGCGCCCCTGGTGTGAGCTATAGTTAGGACTGCTACGCGCCCCTGGTAACGACGTATGCGGCCCCTGGTCCAGGGGCTAGCCCCTGGTCCTGGTTAGTAGTACGGCCCGACGATACCTTGCCGCCCCTGGTCCTGGTCTACCGCAACTCACCGGTTGGCTAGGTTGTATGACGACTGAGTTGTAAGCCCCTGGTGAAATCGCCCCTGGTCTTATAAAGCCCGCCCCTGGTGGTGCCCCTGGTCCCTGGTTTGAGCCCCTGGTACAGCAAGTGATTGCGTAAGTCTGATTGACAAAACGATTGAGGGCTCGTACTATTCCATTCGGTTACGCGCTCGCCCATACCACCGCTCGTAGTACGCGGTATTGATCATCCCCCGCATTTTGCGTATCGGCTCCGATAGTAATGACCCGGAACGCTCAATTGGTCAGGGGCCGCCCCGTTAATCGCATATGATTGGTCACTGGAGCCATCAGCCCTGGGGGTGGCAAGCTAAAGAGCACCACAGCCCCATTCGGCGAGCCGGCTCGACTTACGTATCACCATAATGGAGCAGCAAGGCAGTTTGGTAAAGACCAGATGAAGGAAGGGTCGCGCCCGTCGCATCGACCGTGCTTATATCGCACGTGGACGCCTCACTCACCAGGACATATTGCGACATGATTACCAAATTGCACCGGGATAATCGTCTGACCCGCAGGGAGCAGGTTTGAGCTTCGGCTCTTATTTAGTACTTGAGGGAGCAGGCAGAGGGAGCAGAAGGGAGCAGGAAGAAGTACTTGCAGTCTGGTATTCCATCACTATGGATAAGGGAAGGGAGCAGGAGGGAGCAGCCAAAGGGAGCAAGGGAGCAGCCCGGTTGATAGCGTCTCTTAAGAGGGAGCAGGACAGTAGGGAGGATGGCGGAACCCGGATTTAGTTAGGAGGATGGCGGTGCAGGATGGCGGGCAGGGAGCAGGGATGGCGGTGAGAGGGAGCAGAACTGGTGATTCACCTGTGATTCACGGTGATTCACGGCGGATGGCGTGATTCACAGCAGGGTTAAGGTAGGGATGGTGATTCACGATGTGATTCACAGGGAGCAGGCTCCGGGCGGGTGATTCACGGGGTGATTCAGTGATTCACGGGGAGTGATTCACGGGAGCAGGGATGGCGGGGGGTGATTCACCACGGGCCGTTGTGAGTGATTCACGGATGTGATTCACAGTGATTCACATGGCGGGTTGTTGTGATTCACGATTCACAAGGGAGCAGAGGGAAAGTGATTCACACGCCGTTCGGGTTCCCAACTGGGAGGATGGCGGTTAAGGATGGTGATTCACGGGTTCGGGTGATTGTGATGTGATTCACGAGGATGGCGGGCGGTGACGACGTGATTCACGAAGTGATTCACATGGCGGGCCGGATGGCGTGATTCACTGATTCACGGACTATGGTGATTCACGATGGGTGATTCACCGTTTGTAAATCCGCGGGCCGTTGTTTTATACCGGGCGTGATTCACACTGTGATTCACTCGGGCCGTTCGGGCCGTTGTGATTCACCGGGCCGTTCGGGCCGTT"
kmer_clumps(s, 9, 516, 19)

In [432]:
%%timeit
s = "CCAAACGAGGCATTGGCGGGGGATTGAAATTCTTGATGGCTGAGCACTGACTGAGCACTGGAGGATCTGAGCACTGCTGAGCACTGAGGCTCGATGGCCATAAAAAACCCTGATGGGTGGATCTGAGCATAAAAAAACTCCCGGGCATAAAAAATCATAAAAAAGCACTGCATAAAAAAACTGCATAAAAAACGTAGTCCTGCAGATCAGATGGGTGGCCATAAAAAACATAAAAAACACTGGTAGATGGGTGCATAAAAAACATAAAAAAGAGCACTGGTGGGCATAAAAAACTGCATAAAAAAAGACGCTACACATAAAAAAGGGCATAAAAAACCTGAGCACTCTTCTGAGCACTATGGGTGGGCTCATAAAAAAAACCATAAAAAACATAAAAAAATGGGTCTGACTGAGCACTCACTCAGATGGGTGCTGCATAAAAAACATAACATAAAAAAAGCACTAAGCTCTGGATGGGTGGGACTGAGCACTCATAAAAAAACCTGAGCATAAAAAATGAGCACTACGTTCATAAAAAAGATGGGTGGGGCTGAGCATAAAAAAAAAAACATAAAAAATGGGTGATGGGTGGGGTCTTCAATAACATAAAAAATAAAAAAATGCGCCGGTCCATAAAAAACATAAAAAAAACATAAAAAAATAGGTCTTGTCTTCAACATAAAAAAGCAAACTTGGTCTTCAATCATGACGTATGGTCAAGGGCTTGGATAAGTCTTCAATGTCTTCAATAATGAGCAGGCTTCGTCTTCAATAATTCAATCCTGTTCATCGTCTTCAATAAATTGGAGGTTAGCATGGGAAAGGTCTTCAATCTTCAATGGGGACGGTCTTCAATTTTTGAGGCTGATAACGATAGTCTCGGGTGTCTTCAATGTCTTCAATTCTTCGATTTGTCTTCAGTCTTGTCTTCAATGATTTCCAGGGAGTGATCTGGTGACGCTTTCTCCGGGTCTGTCTTCAATCGTCTTCAATGTCTTCAATCACGGTCTTCAATTATGCGGGGGCCGGCTCCACGGTGTTTATTCGAGTTTACACCTGGGAGTTTAGAACGCCACGAGTCGTCTTCAATTATCTCCATTAGTAGTCTTCAATCTGCAATCCAGTCTTCAAGTCTTCAATAATTTCGGATGCAGTCTTCAATGCGTTGCGCACTTAACGGCAGTTCCCCATTTTTCGCGTAATCCGGCATGACGCTGGACCGTTGGTTACGGGGCTCGTTGGAAGGCCCGTGGCTGGCTAGGCATTGGGATCATGTAATGTTATATCCTTCGGCTCGCGTATGCATCCTTGCATCTTGCATACTGCATACCCTCTTGCATACCTTGCATACACGGCCCTCACCACTTGAGACCGCCGCAACGTGCGACTTGCATACCTGCTCCCAAGGTGTGATTTGTTGTTACATGTGATCCTTGCATACTTATCCTTGCATACTACGTTTCAACGAGGCTCTTGCATACTGAGTTGGCTGGTCCCTCTTGCATACTACCCTCGCCCCAGTAGGTGGTGTAAACCTGCCTCTGTGTTCGAGCTTGCATACAGTCCCACGGCTTGCATACCACTTGCATACTTGCTTGCATACAAAGTCTGACTTGCATACTCACCACCGCTTGCATACCCGATCAATTCCCTGCGGCCTTGCATACATGGCCGTGATTATTGCCGCTAGCGCCTTTACCATGGACACCACCGGCACCACAAGAGAGGCCTCTTGCATACGCCCGGGCTGTCTTGCATACTGAATGCGTGTCAAGTTATTCTCTCTTGGTCCTTGTCAGCAAACTTGCATACCAGCAGGGGGAAGCTTGAAGGCTGCTTGCGTCCTTGTCGTAGACCTGTCCTTGTCTATTGTGGACCTTATCTTGGTCCTTGTCGTCATACAGAGTGTGACCAATATGTTCCCCCGTGAGATCTCGTTGGCGTCCTTGTCCCGCTTTCGAAACGCGGTTCCTGGCTTATCGTCCTTGTCTTGTCCTTGTCGTCCTTGTCGTCCTTGTCGTCGCGGTCCTTGTCCCTTTGTTCTTGTCCTTGTCTGTCCTTGTGGTCCGTCCTTGTCCGAAGATCAGTCCGTCCTTGTCTCAGGCGGCGTGTACTTAGGGCAAGTCCTTGTCAGAGATCAGGGAAGATCAGAAGATCAGTGTCCTTGTCGTCCACGGTCCTTGTCATCAGGGTGAAGATCAGGAGTAGAAGATGGTCGTCCTTGTCGAAGATCGTCCGTCCTTGTCTCTGTCCTTGTCATAGCTGAAGATCAGGTCCTTGTCGGGAAGATGAAGAGTCCTTGTCGAAGATCAGGACCGAAAACCGAAAACCAACGAAGATCAGGAAAAGAAAACCAACGAAAACCAATTAGAGAAGATCAGGAAGATCAGCGCTTGGGCATAATGAAGATCAGAGTCAGATGAAGATCAGCAGTGGAAAACCAGAAAACCAAACCCTACCTCAGGATGAAGATCAGAAACCAAAAAAACCAATGAAAACCAAAAATATAGTCGAAGATCAGAAACCAAAACCAAACAAAGAAGATCAGCCGCCGAAGATCAGGAAGATCAGGTTATAGTTGTGAAAGGTTTAATGAAAACCAAAATCGTGAAGAAAACCAAAAAACCAACCAAGCGAATGTATTCGCTATCGTGACTGGAAAACCAAAGCCACTTAATATCGATGGGGCTTGACGAAAACCAAAGGAAAACCAAGTGGGAAAACCAACGACGCCTAGCTACCAGAAAACCAATACGCACAGCCCCTGGGACCACAAGAAGAAACTTACAGCGGAAAACCAAAAACCAACGGATATTCTAGCTGTCAGTTACATTTTGGAAGTTCCTTCAGAAAACCAAAGTAAGAAGCACATCTACTACCGCGCTAACATTCTTGCTGAATATAGAGTCGTTGTTTGGATTACCTCCAGTACTACTGCGTTCTTTGGATTAAAATTTGGATTACTGGAACACAAACATTTGGATTAATTAACCCTGATCTCTGGCGGTAAACGGTTTGGATTATTGTTTGGATTACAGTTATTCCGGGGATTAGATATACTGCCAGCTATTTTGGATTATTATGCTATCTTTTGTTTGGATTATTATCCTAGAAACTTTGGATTTTTGGATTAAATACCGAAATGCTTGAGACGTGTGGATTGTTTAACCAAGCATTTGGATTATACATTTGGATTAATTTTTGGATTATTGGATTAGATTTATTCCGGTCGCTTCTCGCTTTTTTGGATTATAGCAGTTATTTTGGATTACACCGCCCAGAATAACGAGCACTTGGCTTAGCTAGCTTTGGATTAGATTATGTCCTTTGGATTAGCATTCACACCATCGCGATTGGAAGGCTCAATTTTGGATTAAACCATTGACAATGGAGCCCACAGCACGTTTGGATTAGTGGGTCACTTTGGATTATTTGGATTATTTTTGGATTATATTTTGGATTTTGGATTATTATTGCTCGGGATTTCTAACTATGAACCAATTCTAAACAACTAACTATGCTAACTATGATGTTTTGCGCGTTAATCTCCCTAACTATGGACGGGAGCGCTTGCCGGTCGACTAACTATGAGCGTCAAGTGGTCGAAAGGGCCTAACCGCCTAACTATGGCTAACTATGCGACCTAGTAGCATGAAAACAACAACTATGCCTAACTATGACTAACTATGACTAACTATGGTGTTACACAAGTATCATTAGCATAAGCCACCTAACTATGCAATGTCCGGGGTAGTTACATAGTCGTGGACTACATTCTAACTATGACTGGTGCCTAACTATGTAGTCCTAACTATGCTACTAACTATGTATGTCCTAACTATGTGCCATGCCCAAGCTAACTATGCCTAACTATGCCTAACTATGTGGACGGCATACGTATTGCGTATAAACGCAATATGTATTGCTAAACGCAATTGTGCACGTATAAACTAACTATGTCGAAACCCCACTAACTATGTAACCTAACTATGCAATTATCCTGCTAACTATGCTAACTATGAAACGCAAATTGCGTGGAGGTCTCTAACTAACTATGGCAAGTATAACTAACTATGCGTAAACGCAAGCAAAGCAATGCGTTGGTATGCTAAACGCAATGTATTGCGTATGCGGCAGTACCGTTAAACGCAATATTGCGTGACGATAGTCCATAAACGCAATCTGTCCCGGAAGTTCCGTCACCTTAAACGCAATGTAAACGCAACCATGCTTTGTATTGCGTTAAACGCAACGCAATTAAACGCAAGCGTATTGCGTAGTTTGGTATTGCGTGTATTGCGTGGATCCGTGGAATAAACGCAATTATTGCGTTGGTTTCCTTGCTCCGGTGTTAAACGCAAGCCTCCCGCAGTATTGCGTCAAGTTAAATAAACGCAATAATCTCCCGATCTTAAATAAACGCAAACTCACGCAGGTTTTTTAAACGCAAGCAATTGCGTTTCACTTAAACGCAAGCAATAATGCGCACCCAGCATTAAAGCCTATGGACGCTCCCTTCATATTATAGTCTTATGTGTGCAACCGGTTGCCAGACCTATAAAATCATGACAGAAATTGGGAAACAGTCCAATGCTAATCATCTGTTCAGGTGGCTGGACACAGTCCAATGTGTCAATGTACGGACGTCACATTCGCTAAGGGCTATGGTATTATTGAGAAGACTTCACAAGCTTTTAACGATAAGCCGGCTCGGAGTCTGCTTCAAAAATCCGAGCCACCCATCCACAGCTGTGGTTGTCAATCGTCTGTCACTACAAGGTTGCCCATTCCTGAATGTTAAGCTAAAGAATCGAGGGACGACAATATCGTGCGCCTCTAACCTTAGACTCCATCGTGTCGACTGTGATTTACCGCACCTCTCCGGCCTCGTTAATCGTGATAGTAGTACGCGGTCAATTGAATCCAAGTAATCTTGATTTGGAACAAGGTAATGACACTACACATTACGGAGACAGAGCCCACCGAGTCATGAGAGTATTTTAACTTTGCAAGGGCCTCGATCTGATGCGGATTACTCCGACATGCCTATGCTGATGTACCTCATGGTCTCCTCCCACGATAGTCGTGAGACCCTACAGAGGCCGCGTCCCCCTTATTTCCTGAGTATCCGCACCCCTAGGAATTACGTGTAAGACGTGATACCACAGATCGGTACTCCGACGGCCTCGGGGAACCAGGCGGTTTATAGTTTAGTCATGGAACTCATGTAAATCGAATTGCAGGAGCCTACCCATCGGTGCTGATCGTCTTGGTGAAATACCCTATAAAGATACTGGCGCTACCTCACCTGTACCTTTTCGTTTGCGCCGTTAAATCGGAAATGGGGGTACCATGTACCCTCTAAATCCGCCTGGCATCCGCCAAGGTATAAAGTGATTGCTGCGTGTGAAGAGGATCTAGTCGATTTTCGCAGTGGCGAGCTACGTAAACGTTCTCACCTGCCTGAGAGTTAATGAGTAACAGATATCGTATTAGTGTGCCACTCATGCGCTCTACAACCCTAAACTCAACTGGCCTTACGGCCGAGCCTATGCGAGTAATGAGTTCGCTCCAAAGGAAGACACCCACAAGCTGTTGGATAGTGGCCCCTCGGACTGTTCGCCGCATAAAGGGTGATGCAACAACCTCAACGTAGGAAATTCCTGACGGTCTCAATCTACGAGTATTTTTCTTACCCGGCGCGCAGGGGCTCAATCGGATCCTGTGGGCACCCGACCTTGCTACTCGGAACTGACCGAGAGAACTAACGAAATTTCGTGATCGTGATGACCGAGACGTCTTGTCTTTATGCATGACCGAGAGACTGACCGAGATAGGCCCTACACTGACCGAGACCCGGGCGTGTCTCACTGGCGAATTACGTAGAGCGAGTTCGTGACCGAGATAGTCAATGATGACCGAGACTAGTGATTAAGCTTTGACCGAGACCCATTTTGTAAGCTAGTACTGAACTTAAGCTAGTTTTCTGACCGAGATGACCGAGAAAGTAATGACCGAGACTAGTTCGTTGACCGAGAGACCGAGATCTGTGACCGAGAAGACTGACCGAGATGTAAGCTAGTTATATGACCGAGATATGACCGAGACGCAAAATGACCGAGAAGTTGACCGAGATCAGGTTTGATGACCGAGAAAGTCCGAACCCGTGGATTAAGCTAGTGTAATAATATGACCGTGACCGAGAGTGACCGAGAGTGCTAAGCTAGTGACCGAGATAGTAAGCTAGTGATTAAGCTATGACCGAGAGAAGATCGATTTAGCCAACTCCACTGACCGAGACGAGAAACGCTGCTATCCCGTTGACCGAGAACTTACAAAGGGTTTCATGTGTTCTCATAAGCTTAAGCTAGTCTAGTGGTAGTATTAAGCTAGTCTCCGCCTATCTGCGTCTTAAGCTAGTAGAGGTTCGTCTCCTATCCGCCTCTAAGCTAGTTATAAACCTCAAGAGTCTGAATGGATATACTTATATCTCTACTCACTTGGCCGGCACCCCGATGGATGGTCCGTCCAAGAACTTTTTTGTCCCAATTCTAACTCAGGTTCATAAGCGACTCTTGGTGGAACCCTACTACGCTACTACGACTACGATATCGTCCTGTACAGGACTACTACGATACGATACTTCGGGCGACGGACTGCTACTACGAGCTACTACGACGAGGATTTTGGAAGTATCTTCCGTAACTACTAGACCATCACTTGAGCTCGCGCCCCTGATCTACTACGAAATTACTCTACTACGACGAGGGGTCTACTACGACCTACTACGAACAATCGTAGACACAGAGTTGACGCAAGACCCCCCGGCTACTACGAGCTACTACGATACGAGCAGGCTCATTCACTGGGAGGCGGTTAACATGCCATCGTATACTACTACGAGGAAAACCCGTTGCTACTACTACGAGGTCAGAGTTGCTACTACGAGTTTATTGCACAGCAGATGAGGTCTACTACGAAGAACGCCCTACTACGAGACAGCTACTACGACTACTACGATGGCTTGATTACTGCGAAGATGGCCAGCTAGGTGACTGGCGCATATAGACCACGACGGCTACTACGATACGACCATGGTGACGAGGTTACCCTACTACGAACACTCTACCTACTACGATCGGGCTCTACTACCTACTACTACTACGAAAGAGTAACAGTCCGTAAGATAGGTCACCATTGGGGCCGCCTCCGAGTGTGGAAAGCCCGGTGAGAACGATCTAACCGTACACGATTAGTGTTTCTCGTAGCCTTTAAACGAAATACGAGGCACCGTCGGCGCTCGAACAGACGGTCTTGCTGTGCCCGGCCATCTCACTAGCAGTACAGGGTAGTCTGTGCCAAAGCATGACCCTACGACCCGAAGATATCCCGCTCAACTGTCTAAAAATTCCAATGAGACTGACTCACTAGCTACTCTTGGAACGACCACTCGTGCATAGGTTCTCTCGTCCTTCTATATAACAGTATGTCGGCGGCCCTATCTTTGCATGAGCGTGCAGCCGTATGCTACAGTGTGCAGTAAGAACTATTAGGGAAGCCTCAGCCCCCCTAACACCGCGCTGTGCTTATACGATGAAAGGCTCTACACAAACACCGTACAGTCTGTGCAGTCCCACGTGCACTTTTGTTCATTGTATGGCTGGTCTACTTTTCAATGACATGGATAATCCACGGGTGCATTAGTAACAGACATCGTCGGCATTGCCCAGTCTGTTCCACCGTTGTCGGAGTGCCCTCATGAGTGTTCTGAACAAAAGAATGTGAGTATCTTGTAACGGATCAGAGTGCAAGGTGTCATTGGCCCCTGGTGGGCCCCTGGTCCCGTAGAACCCAACGTGACGCCCCTGGTCTGGTACAAGCGTAAGACTTAGGCCCCGCCCCTGGTCGCTACGCCCCTGGTACTCCATGCGCCCCTGGTTGCCCCTGGTGCAAGCAAGTTACGACATCACGGCCGACCGCTGGAGCCTCGAACGAGAGCCCCTGGTCTTCATGCCCCTGGTGGCCCCTGGTAAGAGAGCCCCGCCCCTGGTGTGGGTTAATATCACGATTGCTGAGCTGACGCCCAGGTTTGGTAAGGCCCCTGGTTTTGATGCGCCGCCCCTGGTGCGATGAGCTCCATTACTCCGGACGCGCCCCTGGTGTGAGCTATAGTTAGGACTGCTACGCGCCCCTGGTAACGACGTATGCGGCCCCTGGTCCAGGGGCTAGCCCCTGGTCCTGGTTAGTAGTACGGCCCGACGATACCTTGCCGCCCCTGGTCCTGGTCTACCGCAACTCACCGGTTGGCTAGGTTGTATGACGACTGAGTTGTAAGCCCCTGGTGAAATCGCCCCTGGTCTTATAAAGCCCGCCCCTGGTGGTGCCCCTGGTCCCTGGTTTGAGCCCCTGGTACAGCAAGTGATTGCGTAAGTCTGATTGACAAAACGATTGAGGGCTCGTACTATTCCATTCGGTTACGCGCTCGCCCATACCACCGCTCGTAGTACGCGGTATTGATCATCCCCCGCATTTTGCGTATCGGCTCCGATAGTAATGACCCGGAACGCTCAATTGGTCAGGGGCCGCCCCGTTAATCGCATATGATTGGTCACTGGAGCCATCAGCCCTGGGGGTGGCAAGCTAAAGAGCACCACAGCCCCATTCGGCGAGCCGGCTCGACTTACGTATCACCATAATGGAGCAGCAAGGCAGTTTGGTAAAGACCAGATGAAGGAAGGGTCGCGCCCGTCGCATCGACCGTGCTTATATCGCACGTGGACGCCTCACTCACCAGGACATATTGCGACATGATTACCAAATTGCACCGGGATAATCGTCTGACCCGCAGGGAGCAGGTTTGAGCTTCGGCTCTTATTTAGTACTTGAGGGAGCAGGCAGAGGGAGCAGAAGGGAGCAGGAAGAAGTACTTGCAGTCTGGTATTCCATCACTATGGATAAGGGAAGGGAGCAGGAGGGAGCAGCCAAAGGGAGCAAGGGAGCAGCCCGGTTGATAGCGTCTCTTAAGAGGGAGCAGGACAGTAGGGAGGATGGCGGAACCCGGATTTAGTTAGGAGGATGGCGGTGCAGGATGGCGGGCAGGGAGCAGGGATGGCGGTGAGAGGGAGCAGAACTGGTGATTCACCTGTGATTCACGGTGATTCACGGCGGATGGCGTGATTCACAGCAGGGTTAAGGTAGGGATGGTGATTCACGATGTGATTCACAGGGAGCAGGCTCCGGGCGGGTGATTCACGGGGTGATTCAGTGATTCACGGGGAGTGATTCACGGGAGCAGGGATGGCGGGGGGTGATTCACCACGGGCCGTTGTGAGTGATTCACGGATGTGATTCACAGTGATTCACATGGCGGGTTGTTGTGATTCACGATTCACAAGGGAGCAGAGGGAAAGTGATTCACACGCCGTTCGGGTTCCCAACTGGGAGGATGGCGGTTAAGGATGGTGATTCACGGGTTCGGGTGATTGTGATGTGATTCACGAGGATGGCGGGCGGTGACGACGTGATTCACGAAGTGATTCACATGGCGGGCCGGATGGCGTGATTCACTGATTCACGGACTATGGTGATTCACGATGGGTGATTCACCGTTTGTAAATCCGCGGGCCGTTGTTTTATACCGGGCGTGATTCACACTGTGATTCACTCGGGCCGTTCGGGCCGTTGTGATTCACCGGGCCGTTCGGGCCGTT"
kmer_clumps(pf_genome["Pf3D7_10_v3"], 9, 516, 19)


1 loops, best of 3: 24min 4s per loop

Minimum Skew Problem


In [444]:
def minimum_skew(genome):
    skew = 0
    values = [0]
    for nucleotide in genome:
        if nucleotide == "C":
            skew -= 1
        elif nucleotide == "G":
            skew += 1
        else:
            pass
        values.append(skew)
    minimum = min(values)
    return [index for index, value in enumerate(values) if value == minimum]

In [445]:
minimum_skew("CCTATCGGTGGATTAGCATGTCCCTGTACGTTTCGCCGCGAACTAGTTCACACGGCTTGATGGCAAATGGTTTTTCCGGCGACCGTAATCGTCCACCGAG")


Out[445]:
[53, 97]

In [445]:
s = "AGCTTTTCTCTTCACACGATGTCGCAATACCCCATCTTCTTACTTCGCGGGGTTATTATCAACGCGGGCTGCCATATCAAATTTTTTCTCGTGGTCCGTCACCAAATTCCTGCTGTTAGGTCGGTGCAATCGCCCACAATTCGTGGTATCCAGACGTGAACTTCTATTGGTGCCATATGCATTGCTGGACGCGCTAAGCCGTGCGGTCTCATCAAGTCCGCGGAACCCATCGACATACGTCTAAGTGGAACGGTCAAAACTCCGGCCCCAGGATTTGGCGGGTGAGTTCAAGGCGACCGGAATGCGCCCTCGCTTTTACACCGACACGTATCATCTATAAGAGCGAGGCTGAGAGGGGTTCGTATCCCTAACCACGGGCAGCTGCACTGCTACATACTTGGACCCGGGTATAGCGTCGCTATACCTCTACGTAGGGTTACGGTGTGATACTATGTACAATACGTCAGAGGTCCGTCGCTCTAATAGCGGGAATTTTATTGCTGACTGTAACTGACGGAGCTTTCGAATCTGCCTGACGCTGCATCTGCGTCGTTTGCCTATATCGGTAAAAATTACGGTGTGATAACTTTATATTACAGTTTCCAGTAAAGCCTTGGCTCATCCAACACAACAAGCGGGGTTGTAGGGCGAGGGGCGAATAATAATACAATGTGGAAAATGCCGATCTCCGTGTTAGCGAGCGAAAATAAGCCGCGCGGAGGGCGTGGCTGTCATGATCCGTCCTCAATAATAAAGTCATGGTTTCTATCAAGAAACGATACCCAGGCTATATGCAAGTCGCTGTTGGGCATGACGGCGCACGTAGAACGTCACTTCCAGTTCAGTCGTAGGGCGGTAACCGGTGTAGAGCCAGTTATCGAATTATGGGTGATACTGATGCAGCCTCTTGGAAATAGAATCCCCCCTTGAAACTTACCCTTGATAGTACAAAATTTTTAACGAGTTCTTTGGCTAATACCTGAGCTACTTCCGACTCGGCTTGAAGGCAAGATGGGGTTGCACATACCTCACGTGGAACCCAGCTTAGGATCATGCCAGAGGTGTCTTCAGTATACGCTTCGTTTCGGATAATGCCCTCGAGCCTTCAGCGTTGCATGCGTGGTTGAAAAGACAAATAACAGCCTCTTTCTGCAAGTAGGCAGGAAGGCCAGGCCCCTCCACTAGACTGTCTACCTATCCAAACATATGGAAAGGGCTTAGGCACCCTGATTACGGGAGGTCACTGATGGATTTTAGCTAAGATGACCGTAAGCAAAGGCACTCCCCTCGTCCGCGTTTCACGTTAGGGCTTCAACCACGATTAAAGTAACTAACTATCGAGTGTGCCGCACACGGCGAACAAGCCGCTCGTGAGGTCTAAGACCTGAGTAAGCCGACTACTTAGGGGCTCACTGACTAAGGTACTGGGCTAATGGTGTCGACCGGCTCCCTTCTCAAATCACGGAAGAGGAAGGGGAAGGGGGCGACACCTCTTAGGCTCGTTAAAAATACATAACTGCTAATACAAGGCACGAGCACTCATGGCGTCAGGATAGAGGGGGGTCTATACGGGAGACTTATCATGGACGAGGCCCCCTAAATAGGATTACTTGTAACTGTTACGGTGACATACACCAAGTGTTCTTTGTTACCATAAACCGGTCTGGCCGGGAAGATACTACCCCCCCAGCCGCATCGGATACCTAAATGAGTGGGGAGCATACTGGTTGCTCTTAAGTACATGAGCCATGATGGAAGTAAATGCTATATTTAAAGTGATCTATACAGCCCGCTGACTTGCGATCGAATGTTCCTTCCGGCCTTTACCGTCATCCTGGCTTTCACTGTGCCGGGGAACTGTCCGAGTCACGTTCTCGCTGATCAAACACCTCCTATTCCATCCGGCCTGTGTCGGCTTACTCCGGGCTAAACTGGATGACGGGGCCCCTACACGTCAAATAGAACACCTTAGCCTGCCCAGGTCGTCATTAAGCTAGAACGCGTCTCCTCTATCCACGTGTGTGTACGGTCCAATGTTCTCGTTGAGACCATTAGGTTATTGTTTATCAAGCTCGAGAAGTCTCCACTGACGACATGGAGATACTTGACTCGGACGGACGATTTTGACCGACCCCTCCGCCCATTGTGATGAAAAACATAGTGAGCACGCCCAAAGGTTTTTCAAAAGTACCGCTTATCCTGTTCTAGGGAAAAGAAGCCACGTATATGGGTGGTAGAAAGCCGTTATCAATCAAGGCCGGCTTCAAACGTCTTCAGCTCGTTGAGCATCTCGCCTCCCTGTTTATGAGTGAATTCACGGGAAGCGCTACGGTCAGTGGGACCTAAGCTGCTAGGCCACATTTCAGCACAACAACACTTTGTTCGTACCCCTAGTTGCATAGGGAATGCGGGGGAGCGATCCTTCGGACGGTGTACACTTGATCGCGAATCCTTAATCTATATTAATTCAGCATATATTACGCACCCGTCCGCTCTCTACGGCCGTTTGCACAATCTTCTGTACATGGGATCGGGATCTAGGTTGTATATATCTCTACGTATCCATAGCCACAAGCGCTGTACGTCCCTACAGCAGTAGAACAGGGTAAGAGTGGATTCAAGTTCATCCCCTCTTAAATAACATGCGGATCGTGCACTTCGTTCCGTCATAGACTCACAAAATCTGCTTACCGAGTATCGCCTTTCCTGTAAAGTAGATCTACCAATTAAGTTCCCCGAAAGCTCGTCCTAGGCCATAAGCACTCTAAGTCCGTAGCTGCTACCAGGGAGCACTTGAGGAAGTCCTTCGCTCTAACGCCGGAGTGCGGCAACGAGTATATATCGACTGTCTCCTCGAAATCGCAACAAGTCCGCATGAGCAACTACCAGTGAAACCCCTCTGCCGCTTTTTTCTTATCATAGATGCACCCATTGGTTTGGGTCGCGAAAACGTCGAAATGAATGACTTCATCTTTCCACTGAGTCTGCCCAGATCATTCAGTAAACTTGGACTGAAGGCAGAGCGTGCAGGAAATCTTCTTAGCAACTGTCATACTATGCGCGATTACACGCTACCTTCCTCGAGTGCATCCAAATGGGTATTCAGAAGACATACATCTGTTGGTCGAGCGCGATAAGAAGGACATCTAACGGTACCGAAGTGATAGATTCTGTACTTTAGGTCGATCATATCACCGATGCTGCTCGTTGGTGCAGGTACATTGGGTCCCGATCAACGAAGTCCTCACACAGCAGCGCGGATTTACAAAGCACCGTCTTTTCCATCCAATCCTCGGGTATAGGGAAGAAAGGTGGCCTGAGGAGAATCTCTCATATTGGACGGGTACACGATCCAGGCCAATGGCTATTCCGCCTAGTTTTTGAGAGCGTCGTTGGAATCACCTTGGGATCTAGTGACGGACATTCCCTGACCATGCCCCTAACGGTACCGGCCGGAGGTTATAGGTCGGGATTTTTATTGCATTCTATATTTATGACGAGCGTTTTTATACACATCGTACCCTCTTACAAAATGATAGATAGACGTTGGAGGTAGTACTGCGCGTGTGGACATCCTGCAAGAGGAGACAGCGGAAATAGCTGGATTTTCGGGCCAATGAATTGGATACCACGATTCAACCCTGTCCCTCGGGGTGCATGAATGACGTAGTTTCTAGTCCAGATCGCTATAGCTGACGGAAGCAGCAGACCAGGAGTTATACAAAGTTCTGATGATGGACCCGATGGCAGTAGGAGTGTACTGTCGAGCGCTTAACGGATCGGATCCCTTTTACTCCGCGTAGCGTGTGGCCCAGGTGTACAGGGCGTTCAATCCACGGGAGATTAGCGAATAACGTCTGCTAACAACTCGAGTGGGTAACAGGATCGCTGCGATATATAGGGCCTCGGTAGTGAGTCACCCCATGATCTAGAAATCCCAGTTGCCTATTGTTATCGACATAGTTTGCATGCTACCGGTGATTACGATAAGCATCCTTGAAGTATGTCCGGGACATAGTTGTTTACCTCCCCAGACTGTGGTTAAGCTGCTGGAACTGTAAATCAGCATACTTGCAAACTGGAATTGTAGAGGGGTGCACCCCTATTAAGAAGGGGGCTCAGAGCTGTGGCAAGACTAATGGCGGTATTCCCATAGGTAGAGGTGGAAAGATCTCAGTGTAAGTCCAGATCGTGGACGTCGCACCCTGGTTTCAACCTCATTTACCAATGGTTAGTGAAATTCGGCTCTAGTACTTCCGGGGTTAAAGAATTGCCGGGAACACAGATTTAATATTTGTCCATCCAGACCGTCCATAAGTTCATTCTCGCCCAGCCTGGCTGCCGCATCTTGGAAGAGGGGCCATCGCGCTGGTAGTAGAAAAGCTCCATGGCTTCAGGCTATATATGGAATAGACCTGTGAGGACCGCGACGTCTAGATAGAGCGATGAAGGGGATCACTGACTAGGAAGACGGAAGATCCTAGTTGTTTGTTGTTGATACGATTATTTGCATGTCAGAGATCGTGCCAAGTTCCAGCCGCAACTGATTTGAATACGCTCTGCTCACCAGCATGGTCTATCCGGGGTTTGAAGACGCGCAAATCAACGGCCATATGCTTGCCGTCAGGTGTAACCCACTTGAGGTTCGTTAAACGGCTCCGTGCAGTGCGGCCTTGCCAACCACTTGGCTTTGAGCTCTTTGATCTGAGCGTTCCCTCGCCTTGTAGTTTAGACGGGGATAAGGGTATTTGGATCGATAAGACTCGGCACCGCTAAGCCTCAGTGTGACGAAGGGGGTGGACTGGACCTTCGAGGCTACGTAGTGTCGGCCAGCGGTATTTCATTTTTAAGATTCTGGTTCGGGTATAGATAAGCCGCGTAGCGCAGACTGCCCCGAACCGTCTGGCCGGTATGCTGGGATTGATCACGTTGCGATTATGTGGAACCGACCTCGGAGGAGAGAATGTGCGATCACGGCAGGATAGGGCTAACCTCTCGCCGGGGGCACCGTAGGTTCTGCCGGCCGCGGTATTTTCACCCATAGATTCACATATTACTTCTGCGTGTTCCGTTTTCAGAGACTGGTGACAGCCGGTAAACCCATATGTTGCAGGCCCCGGTGCAGGCGGCACCGACGCTCCCGTCCTTGAAAAACGTCGGATTTGTGCACCAGTGCTAATGCGCGTATTTTTTTAAAGCACTGCGACTATCGAGGGCAGCCGCCGATAGAAACCCGTCATAAGGGTAACCCAAAGGAATGCGCTGTCTAATTGTGTGACGAGCTGGTAATTTTCCTCTCTCAAGCCCAAACTCAAGAAATGCAGGCTTGAGTCATGGCCCCCTTATGTATTAAGAAAGGATACCGAACGACTTCTCTCAAGCATAATTAGGGAACGAGATTCCCCAGTATTGAGCGTAGCTCATACCCATCGTACCTCCGGTCAAGGTGCGGCCCAGTCAGGATACGGTGGCTACCAGGCCACAGGGCGTCATACCCCCGAAGCGAAACCTCTCACATCGATGAGTTGGCTCAGCACTAACTTGTTCAATTTCATAAAGTGTCATTCGTACGGTGGATGAGCGGACGTGCCATAGACGCACGGAAATCTATAGGGATGTTCAGTCCCCTGAGCTCTTGTGCTCTCCGTGTAAACAGAGGTAATGAACCAAGGGCCACTAGCTATCTTGCCGTATCTGCTCTTTCGGAATAGCTTAACTGCGCTTTGCATTATACCTTGCTTCAATGTACTCGCTGCCGCCAGAAGGGTCCCTCCGTTAATTGAATTGCCCAGTCCTTGTTGTGCGACTTCGAGCGGCAACTAGATTCGCATATGTGTACCATACGCTATGCCGTGGTGACGAAGCGCCCTGCGAATTGTTTGAACTAGGGCACCACCCAAGTCGCGCCACCATGGAGGGTATCGTATCTCGGATATTTGGAAGAGTCGGATCCAATGTGCCTTGCCCTCCGAACGACAACTGTTCACGTAGACTCCAAACTGAGATATGAAGGACCCACACCACACCGTCCCCTTACCTAACAGCGCTCCCCGTCACCCAGACACACATCGACGCAGGACGGTCTCAGCTCGTCGTAAGCGTTGCGGCTAAGACGACCAGCGCATGCACATGCTACGAGTACGGGGAGATGTTCTTTTGATCGGTATAACGGGCTCAAGCCAGGTGCCCGAATACACCCGGTGACGTCGATGTGGAATTGGTAGGGGAGTATAACGGTTGCTGTCGCTGTCCCCGGAATCTTATAAACACCGTTATCTCGGTATTCTTCCCGAGTCACAACAACAAGACTTTCAACAGGGCTATCGCCCCTCTATAATAAGCGCTAGCCACTCGGCACCGTACGCCCACAGCGGAGTTTGGGTAGGGCGTCCCATCGTCAGGAGTCCCGTCCAACTTAATATCACTGGCGACGTTCCATGGTGGCTCGCAAAATATCCTGGGCGCCGATGATGCTGAATCCCGGCTTTTAACTTTCGCTTAACCACCAACAGTGCAGCTAGACCGGTATCCAATGACGGTTTCTTGCTTTTGTGTCCTAAAAGGAGATCGCCTTCTTTACGCCTCTGATAGGTAAACAATCATGGATGTCGCTAATAGTTCGCTTAAGACATGATTCTCTCCCAGTCCAAGCTGAATTGTACTCAATAGAATCTCTCTACTCACTAGCTTTCAAGGGGTGGCTCCAGGGTCGAACGATGATTGTGTTGTTGACAGTTTTCGGACCAAACTATTCAAGCTATCTATCTCCGTGTCCATGTGTTACCCTTTTTGTTTGGGTGTGGCCTTTTGCGTCCATGCTGACAAGTCCATCCAGGACACGAGTCTCACGACGGTTGATACCGCGAACACAACTTGTCTCCGGCGAATCTTCATGGTGTACGTAATTTAGATAGAGGCAGCTCCCTTTTCTACAGGTGCGCTGTCATAGAATAACTTAGTTGGTGAACTGAAATGGAACGATTTCGTTAACTAAAAGCAATGTATTGTAGGCGATCCTTAGGTCAAATTAACATATGCGCGAGGCCGGAGAGACGCTATTGCGCGTGAGCGGTGCACTGCGCTATGAGTCCTTCTCGATTTTTAAAGCACGCCCGTCGCGTAAAATCCCGCAGAGGATATAACGCCTTATACTCCAGCCCACGAATACCAATAGACACAGGATATATCCCGTCGCAAATTGCGCAATATCCCGACGAGTAAGATGCTTCCCTCCCAAATGCCGGAATGATGACGTGTGAAGTCACAGCCTAGATAAACGAGCTTTGGTGAATTCTGGCCGCCCTGTACCATTTCCCACACCTTCATTGGACCCTGAACCCGGGCACCTGTTGTACACCTTCCCGCACAGTGACGATACACGATGACTAAGGCACTGCTGAGTTGCGACGTGCGGGTTCCGCACGTCAGTTGGCATCAAGGAGTATTAGTGTATGGTATAGTTATTGTGTATAAGAGTGGGGCGACCTCGTTTGAGCCGATGCTTGCACATCAATGGAGCTATGTAACCGTGAAGTGAATTATTAGTTTAGAATATATTCTGCACCCAGTTTCACTCCGAGAAGTGTGTACCGCCACTCTGACTTCGACCCATAGTTTTTGGTAGATCATAACAGCGCCTTTCTCGCCTTTCCGTCAACGACATAGGAACGCATAGTGTGTTGGCTAACAAGTGTCCATTTTGTATGGCTTCGCTGGGCGCTCTCGGTGCGTACTTACTACGATAGGGGCTCGCCATCGTATTAAATTCCACGTGTCTGAAGGGAAATTCCACGTATGGCTAATTCCATTGTTGGGATAGTACGTCATCGCTGCCCCTGCCGCTTAACTGTAGGATGGAAGTCCCCAAATGACACTTATGACGTATTAATAGAACCTCACCCTGTCGCTTACACTTCGTCAGTTAGAAGACTCTTTGTCACAGGACTCAGGGTGGATAGCCCTCCCCTCCCGAAGAGTGGTGGATGAGAGTATACGACACTTCCATCGTGGCGATTCGATTAGCTACAACATCTCGCCAAAGCCTACATGGATGCCCGATCGCTACGGAATGTAAAGTTCGGCCGAAATATAGGCAGCTTGGATATTCGCGTATGATGTCTTCGGCCGTAATAATAACCTCTTCACATTTATGCTGTTGGGTTTCGAGTTCAATGAAGACGATGAGCAAGCCAGGCTCGGTGCCCTAAGCTGAACGCACGTTGATTACGTTTACAAGCAGTGTCATAGGTGGCCCTTTGGTAAGTTTTTCGGCCTCACTAATAGCCCAGCAGGTCCATGCACATCGCGCAATAGTACGCAGGTTCATCGCCGAGGGCAGACTAGTAGCTGAAGATAGGAAACCCTCTTTACGGAATCCCGGTTGGGGGTCATACTGCAGCAGTCTCAGGTAGCCCGTAATCTTCGGGTCCTAATTGTTCTTCTAACTTCTGTCTAGCATCGTACACAAGGTTACAACAAGAAGTGCTCAGAGCACTATCGGCACTTGTAACGCGATTCTTCGTTGGTGAGCTGTTACGTCCCCAACCCCGGTTCGCTTGCGAGACCATTAGGGTTATCTTCGTATGAACGGTCGAAACGGGGTGTCCCGTTTGAACCGCATCATGAGTTCATTCTCCATTACCCCAAGCCTCGGGGACGAAACCCCCCATGGCTCACGGATTCTCTTGGTTTAGGCCGCTCTCAGCATGCGAATCTGGCTGGGGGTACCCGCACATGCCTATCTCAACCGTATCTCAATTCAAACATACGCAGGGAGATCTATGCCTTCCTGTTCATGGCTCAGACCTCATGGTTGACACGCCACGCCTTTGGATTGGGAGGGGCTGACGTGTTGGCGACCGAGACCAGAGTCGCAGGCTAGTACAGCTGTTACTCATTCGATAGGACTGGAATCCGAGGCTGTTACCAACTCGGTTTCAACAGACCAAGCGGAACTCGATCAAGTCCAGACAATAAGATACGCTGAGGACCTGCAGGGTGCTGCTGATCTAACACATTACGTTGTTGTCGCCGCGCGGCTGACGTAATAAGTCGCACGATTCAACTTAGCAGGAGCACGTATCCCTCCTTCCATCCTCCCATTTTGACTCTTGAGGATAGACGACGGTTACGGTTCATCAGGAACGGGGGACTGACCCGATTGACCCTGAGACCCCCTCTTCGACGGATACTGCTGAATGCTGATTATGGACCGGACCTTTCAAGAACGAAGCACTGAGAGGGCTATTGAAAGAACAACAGAACATGGATTACGGAGCCATTGCTTACAGAATGGTTGACAGCCTAATCTTACATTGCCATCGCATGTATCGCGTGCTAAAAATCAGCCCAATCCCTCACCCCGTGGCAAGGCGCGAGACTGAGAACCCTTATGGCCAAAGGAGGGATTTGGATCCTATGGGGTCCTATTTTCGAACTACGGAGTTGTCGTGAAGAGGGCTGCCACTAGGTGTTTTTGTAAACGTGTGCGTTAGGGATCGCGGGTGGAGCGTCGGACCACCCGGCACACGCTGAGCCCTTGTCGAAGCTAAACTATATAGCTGCGCATGACAGCTCGGTAGCTCGTCAAGATATTTACGCCAAGAAGTCTTAACCCCCCTAGTTACCTCTAGTGATCTGCGCAAGTAGAGTAACGATCAGTTCCCCGTTCTAATCAATGACAGCGAGGGGATCGTCGAATTTGCTTGTCCCCCCTAAATAATGGAGCGGGTGTCATGCTGTGCGAATTTTCTTAATTCGATTTGTGATACCACTAGGATCAATCTCGTTATGTTTATTCGGGCCATCATAACACTTTCTACCGAGAGGTATGAAGTGTAGAGTGAGGGAACGTCAAAGCATCATTAATGCCGCTGATCTGCCTTGGAATGTGTCCTAAATTGTTTCCATCAGGACTTCAGATTCGCGGCAGCCGGTATGACGCGTCTATTCTCTTACGCCATGTAATACCTCAAGTCGGTAGACTCTCTCACCATTTTCCGACTGATGTTCGACCCCAATGGCTGGGCATCTGATGGAACACGGCTATCCTTACCTTGAGTCCACGGATGGAATGCATGCATGGACATGCACTGTTAGGTCCAGCGCAGGATCGGCGGCTCGGGCCACCCGTATTCCGGCCGATTACAGGACGTTTAGTTGACACAATGTTGCGACCCTCTAGTCAGTCCTCCTTCAAAATCTCCGAGAGCTTTGTTATAAGGCTGCCGTCGACGGTGATCTGCGGAGAGACTACCGTATGCGACGTCTGTCATTTCGTGTCTCGAAGAGATCTAGGGTTTCGACACCAGCAAAATGCACAAATCGCGCATGCTAACATTGTGCAGATTGCTCTTTATGACCGATTGTGGAACTATCGGCTTACACCGACTGGACGAGTTCATATCCAGAGGCCCGTTGGTTCTCGACAGGCCGGCGCATCGGCGGCTCCTGGAGCGTTGGTATGTAACGTTTTGACATGCGGTTGGGTTTGAAGTTTACACTCAGCTGTTTCGGCTTATCATCATTGGATTGCCTTCTCTACCCGCCACGACTTTGCTTTTATGTCTATGTCCAGCCTGAAGGCTAGATGGTTCGCTGGACGGTGTTATGTATTGGCGTCCAGTTCAACGAGTTATCCTTTCTCTGACATGGAATTAGCTGGATCTGTGGGCCCACAAAGTTAGCACTTTGTCGTCGGCCTAATGGATCATCGTCGATCACGTACTGTCCGTCTGCCTATAGTTGTGTCAGCATTCTGTACCTCTAAGAGAGCGGTGTTAAATCGTAAACAGTGTTGTGCGATTCCGGCTTTGTGATTAGTTGTCGAAAGCAGGGTGCAACACTTACGTGTATCCTACAGCGCAAGAAGAGCCGCTGACAAGTCCTGCACTCACGTATAAAGGTAGTTAGGGAGGAGAGTCGAGATTATAGTGCCAGGCTGTCCGCTCGCTGATACTTTCATCCTCGAAGATAGGTGAGAAACTTTAAGGTGTGGCAGTGATCCTAGTGGATTCCTGTACCTCAACATGAGTGGTTGTCTCCGACGCCGACAAACGATGCACAGGAAGGTTAAAGTCCTAGTAAGGGCCAAGTCTGATGAAATCGCCGGTTATCCCCGCATATTGCGTGCCTGAGGGGAGACGGGCGTAAGCCTCTGGCGCACACGTGAAGGAGCTTGCAGATGGTATAATGGAACTGGCGCCGAATTACTATCGGAGAACAAGGTCAGCGCAAGGAAGTTACATCCCTCCCAGAAAGAGGACTGACTCCAGACGGTGATTCTACTATGGACAGTCTCACGCCAGTACAAGGTTTTGAAAGTTTATCAGGATTGGGCGCCTAAGAGTCATGAATATGCCCTCGGGTAGTACCCCACCGCCGTAAGACTGTCAGAGCCACGTGGCTATGTTCATATCTGTCCCGACCCATGGTTTATATAAGTAGAGGTTGCACACTCGCGACGTGCCAGTCCGTTTTGCCAGCCACTATAGAATCGATTTTCCCGATCCCTATCTGTAATCGGCATACGAGTCATTCTCAGCCCATCCATGAAGAGCGGGGTCATTCGTCAGCGCGTTTTACTTGAGGACTGGTGCACGACAAGTGGTCGCCAGCCGCCGAAGCTTCCCTTGCCAACTTCCGTAGCTCGATCGGTGGCTCTACGCTGTCGTCCTCTACATGCGCCATATTAACAGTGTACCACATCGGTTGATGGACATGGGGTTTCATGCACTCGTTTATAGCATAACTAGGTGATCCGTTAAGTTGAATGGTCAGCGTCTCCCGGGAGGACTCTCCGACTCCACACGCGCGACGGTCTCAGCGTTTGTCCAATTCCGTACTCCGACAAGTCTCTCTCGGATCATCATTCAAAGGCCCAGGCGATGTCAACAGCAATAGAGGGCTACCGCCGGGACGGCCAGACGTCACTGCTACCTCTGACTTATGTTAACTTAAGCTGAAATGTTACGCGCTTCGCATATTATCGGGTCAATATATTTTCTTCCGTTCTTCGTGATCAAGGGCATGCCTTCTCTAGATGGGGACCTGACTTCTTTACGGGATAAACTCGCAATGTCGCAAGCATATGAGCCATACAGTTACTCAAGGAGTAGGAGCGGGATTGCCTGCTCGTAGAGGTGGAAAGATAGGTGCACTGTGCGAATCATGAGCTAATGTCTAATGCGCGCCTGCCGATAATTGCTGGTGCTACGTATGGTGCCTGGCAGGAATAGCGAGAGGCCGAGTTAGGACGGTCCCGGGAATTCGGAGTCTTGATATCCCACGCCGGTTCATATCCTGACTGTCATGTCTGGCTCTGATTACTACGATGATAAGTCCTCCGGTGATGGTTCTTGCTCTGACGAACTCCAGGCCTCACTCGGGGACAAATCAGGACGCGACGTCCTACACTGAATCTCGCGTCCGCCTGATCAGACATGCGACTCCATCCACCACGTTGGACTCATGACATGTCCTGTTGGCCGCAGAAAACCTACCTGTACAAACTTCGATGACGTAAAAGAGAAAGCATATGCATTCCTTCGTTAGATTTCAGATAGGAGGCCTTGTCAATCGGGGGCGTGTAATCATCACCTAGAGAATTGCATAGTTCTCTTCTTGATCTTTTGGTACAAAGAAATTATATTGGCGATGACCCACGTCAGTCAGGCGGGTCACATATTTGAGCGGACTCCTATGAGTGGCAAGCGATCTTGGCGAAGCACCAGAGCATCCCTTACTTCTACGAAGCTCGCTTAAGGAACAATCCTCAATAACAAGGTACACCCGACCCTCGCCACTGGTGACTTACATCGGTCTATGATAATTCTCCCGCCAGTGCTCGTTTAGTCCTCAGACGACCCGGACATCGCGTGGCTAAGAAATCGTTTGTACGATCGGAATCAATTTTGGCATTCTTCAGCTTCTCGTTGACGCTTATCTCAACCTTTCAAACGGTTGGCATGTGTGTGTATCTCCTGAAAATAGTCTAAACCGGAGCTGGAGCAACCTGGGCGCACGGCTGGCCAGTTTACAGATCCACACTATATGTTGAGAGTAGTCCCATGGGAAAGCTCTACCTTTTATATCGTACAACGTGATATCCCCCCCGCCGCGTCGACTTTGGGCGCACCCACGATGGTGAAAGTTACTTGCAATGTATCCTCTTTTGCCTGCTAGCGATGTCGCCGGAAAATTCCAAACAACGAATTGGGTTCGCGGGAAGCTTTCCTCTCAATTCATTGTACCGTACGAGGAAAACACGGCAACATTAACTTGCGGTTCATAATCTTGTTGCCCGGTTTCGCAAAACCGAGTATCTAATTGGCTTATCGAATACTCGTATATGAGGAACGTAGGCACAAGGTCGGCTGCGTTATGAACCGTACAGATGGCACATCCATGGTTTTGACGCGACATCTTTAATTAGAAGGCACGAATTATGAGACAGAGTTCCTGCGCAAGGGTTCTTCACGCCCAGTATACGCCGGTCGCATCACTATTGGGTTACTGAAAGTAGTTTAACTCATTCCCGGTCGACGATAGCGGTGTGATCTAAGCGACAGACTATACCGGGAAGGCTGCTCTAATAGCGACTGGCTCGCGGCAGCCTGGACTCGGTTTTGTTGTGAGCAAGAGTACAAGAGGAATTGGGGCATATAGTCTAGGATCCACTCCAAACGCTTACCTTTAAAGACGAGGCGTCGCCTGCTTCCAATAGGGTTTGCTGGAGTCATGCGATCATGTACCTGGCAGAGTCTGTTACCGAGCTGCTACCACTACGTCCTCATGTAAGTTACACGGGAAAGATGGGTCAACCCAATCCTGGACATCCTATTGCATCGATCGGCTGCTGTTAATAAGTCAGCCTTTACCCTAGAGTAGGGCCTGCTCGGTCTCGGTTCCTATAAACGGTAAACCTTCTTCGCGTCTAATAGCCCAACGCTTTGTTAATACAGTATCTGCCAGTTGCGTGGGACGACCGACCTGATTATTCATAATCTCCAAACAGACTGAGTTCGCGTGCCGATGGCAAAACGCTAAGACGTAACAACGATGCAATGTAAACGCATAAAGCGAGACTTGTAAGGCACGGCCCAGTAGTAGCGTCAATGCCCAACTCCCTTGTTCCAGGATACGCTCGACATTCAGGATGGAGAATAGGCCGAGCAGGTCCTAACGCTGCCTGGCGGGTTGCGTAACAGCTGCCCATTCCGTCGACTAACCGAATCGGTCAAGCGGTGTGTAGCTCGATTTTAAAAAGGATGTCCTAATTGACCCGGGCATACAAAGGATACAAGTAACCGCTGGCGGCAACCCAATATTGCTGCCGGGATGCATCTATTGTCGACTTGGTGGAATGCCTTATAAAAACTTAGTTCGGCAAAGAAGTCACTGACAATCAGTGTCAGGAGCTGGTAGTTAAACACCGTTGGTAAGGCGGTCGCTGAAGGCAAGAGCACAAGCAGAGGGCCATCTTGAGCCTGTCGATAGGGTTTGTACCGACAGGCGGACGCGATGCCTTCATTCCTTTCTCGAGGTGGGAGCTCCCCCAAATTCCCTCTCTACTAAAAGAAACCAGTAACTGCGTTCTGGTTAGAGGCTGGTGTCGCAAATTCACCACAGCTCTTGGAGTCCTGACGCCTGGGTTCGTGGTCATGTCCTTCGTCCGCCTTACAACGTATGCTCTACTAGTCCTGTTACTACTCAGGAATCGAAAATCCACTAGCCCGTTCTGGTAGACTTTAACGCGGCCAAGTCGACCCATACCCACCATGGGCGTTTACGCGTCAGTGGTGCTACACGGGTCGTCAGGGAACAACATTTATAGTTTACCAAGGACGTGGCCAGATAGATGTACAGGTATCGAAGGTGTGAGATGTTGGTGGAATTCATAAAGCGTCGTAACCAACAACCTCGCCGGATCCCTACCCTTCCGGTCGGATGCCTTCAGTGTGCTGCACCATGCTTTCAGGAGTGGAACGTGCCAGAATTCGTTGTGGCGGCAGATGACATCGCTATCGGCCAGCTGCCACTTATCTCCCAATCGACTTTTGGACCATTGGAAGTTACTGGTGCCGGCATAACTAAACCCAGGGTGGGGAAGGTCAATCGAGTCCCGTGAAAAAAGATCTCGTGGAGTGAGGACCACGGGCCCTAATAGCCGCCGGATTAAACAGGACAACCCGACTAACTCTTTACCGCGTCGGGACGTGGAAACCCTAGTACGAGGCTGACGTCAATTGAAAGCATGTGTGGGTTTGGCTAATAGGCTACACAGCAGTTACTCCTCTAATGGTGTGGTCCATGTTCAAACTACCACTCTCGTAGCAGACGAGACGAAGAACACAATACTACTGTGTCATGAGTCTACCCAGAAAAGTCGTGCTACGACGAACCTTTAACAAAAGGATTGTTCGTCGAAAAGTTATCACCCATAATTGGCAAGTGTCGTCCTTCTTACTCCAATCGCCCGTCACTGATTGGCGGTTCATTTCAGCCATGCTTACCGTACGAACTCGCGCATTGCCGTTGATGAGCTAATAGGGTTTACCATTTGCTTCCAACGAGTTGGTCAGGTCTCCAATCTAGACACATTGGCTTCTGCCCGAATTCACCGGATCGCCAAGACTGGCGATACGTCATTGTCATTCATCCATAACATGTTACTGTGTAAATGCTGACGTACATATGGTCAGTGTTACGAAAGAGTGTAACCGGGTCACGTCTTTCTACATCGATTTAGCCGCGCGCGTCTGCGCGCGTCTCCACACTTTCTAAGAGGCATAATAGTCTAATGAGAATCGTACTTCTCTCTATTAGCAGCCTATTGGATGCTCATTGTGTTAGGTTTATCAAGCACGGCTGGATGCAGGCGTACTGGTCACGACGATCAATTGGGCTTCCCAAGCTGGTCTATACCTTCCGTAAGAAGTCCAAAGTATAGGGAGGCGTTGTCCGACGGTCTTAACTAGCCTTGTGCCGCCCTAGCCTTGGGACGAGGAATATCAAGTTGGCGGCTCTTTGAGCGTTGTGGAGCCATGCCGCTCCCCGGGGCCGCACTGTTTTACCTTGCCCCCAGAAGAACGTGTGGTTTATGGACAGAGGCTTCGCCATTATGCAAGATTGAATCCCTTGAAAGTGCTTTTACGGTTGACTGTTAGATGATCTCAGAATGAACAATACCCCGTCACTGGTTAACCCTCGTAAACACCACTTAGCGTGCTTGCTGACGGCCCAGTCCCACGAGAGCATATATGGGCCTCAGTCAGCGACTCATACGGCACCTCAGTGACCACCCCTTCATCCCACCATGTTAATAACCCGAAGAGCGAGGCTTGGCAACCAGTGTTCACACCCTAAGTTTAGACACGCATTGCCTAAAGCGCGTTTCTGTCGGGAAGCTAGCAAAAGGTAACATCGGATAGGACCCTTGGTAAACTTCATTTTGTATCCTGTTCCGATCGGCCTGGCGTCGTCGATTATTAGTTTTTGAATCAATGAAATAGCAGCCGTCCGGGCCAATTCAATCGCTCAACCATTTGGTTCAAGGTATCCGAAATAAGCGAACTAGAAATCGCGCTCCATTTACTACGCTGCGCGTTTAGTAGGTTACTCTATGGAGATGACATAAAAAGTGTCAGAGCGGTCAGGCAGGCGAAGGAGGCGACGAGCCGAGACAATTGGATCGGCATTTAGACTACGAACCAACATGTCTTACGCATGGATATGGGACATATAAGGCCGCTTTATCATGATTACAACCACCCTAAGGTTGGACTTCTCGATTCGGTGCTAGGCTCCATACGTCGTCTGTCGGGAGTCACTGATGTAATTACTGTACCGCGACACAACTATTTGCATCGCATCCGCTAGGTAGACCAAGGTTCAACGAACGTCAAATCAGTCTGTCAAGCACGTTTTATCGGACGCACGGTGTAAGCCGGGTATACTTTCCTGCACCGATGGGCAAAGCACGTAGCTCACCACAAAAATAGGCCGCCTAAGATGACGGTCTTTACATAAGACAAATTACATGAATTAGGACGCGAACGGACCACCGCGGCGTAACGATGATGATCAAAGAGTCAGGCAGACACGTGCGAGCAACAGTCAGAATTCTATCCTGGCCCTGATCATCTCTCGTGCCCCAGACGATACACACGAATTTAGTATAGTGGTAAGATATACACATCCGCATCCGCTCTTAGTCTCACATGGCTCTCGGCAAATTTCAGCTATCGCCGCGGCCTTTACCTTCCCGTAGGATGCCATCCTCGCTTTAATGACGTCAGATTGAGGTGTCGTGTGTCTTGTATGTAGTCCACACTTGCCTTGGAGTGCCGCTGCTTGCCTGCGCCAAGTCAGGATATCCACGCTGCCCGCGACCAATAACGTAGGGAAGCGTGACTATCGTCCCTGTAGAATCTATTCTTAGGCCGGATCATATTAAGAAGGTACATCCCCTTCTAGACATAATGTGACCCGTGGATCCTCTTTACATCCGTGTTCTACGACGTCTTGCTAGTCTGCATCTATACTATACTTCAAGTGGCCGGATGTAGTGGAAGGACCGGCGTTTTTTAAGAGTATTCTCTGCCCTCGGTCTCGGTGGAATTATACATAAAATTTTGTCCGCGACTGCCCCTCCCAAAACGTTGCCTGTTCACTTTACGAGACAAGCTGCACGACTAGAGGTTGAGAGTATTCGGAACACTATGAGGTTCCTGAGCGGTACACTCTACAGGCGCAGTGGTCGCCGAATCATAACGTGAGACGAGTCCATAAATATAACCTGGTTTTTGCATGGGAAGTTTACGGGCCAATTATAAGTTGGGACATGTATACGTCAGCGGAAGCGCGCTAGATTAGGCCTACATATGCTTCGATGTAATAGTTTCTGGTAAGGAATGCCCGGATTAGAGGCTTTACAGTAGCTAGTTCTAAGAGAGTGATTATCTTTGTCCGCTTTGTACAAGGGAATAGTTTCCGGAGGATGTTCATGTGACGAAAAGCTCCGCAAGTTGGCGGGTACCTCTGCCCCCTATCAAGCCTTAAATACACAGAGTGATATGTATGAAGGCATTTTCGTGTTAAAACATCCACTAGCAGGGTCGAACAGCTATCACATCTGATATAGTGAAATAATTCCTGCCCACCCTACTAACAACCTTGGCAGAGGCCGGGGCCGAGCGCAGACTGTTTAGGACGTGTTCGATTTGGAATCCAAGTGTCCCGAGAGTCTGCACCACATCCGTCTTGGTCAACCTTAATGATGTTCGCCTCGTTCACGAGCAGGTGGAGTGCTAGTACACATAAGTCTCTCGTTACACCCGTTGGGGTTGCGCTAATAGCCAATCTCCGTGTGCGTCCATACTGTTATCCCGAGAAAACCCTTTAGCCTAGACTCGACGGGGCCAATGACGGCGACACCGACCACCAATACATGGTAGTAAAGCGACCGGATAGTTACCTCGTGTAAAGGTAGTTTTGGTGTAAAACCCTGCCCCCTACGGGCCATGAATTCCAAATAGTTGGGTCTATACAACGTAGTCCTGCACGCGGTTCAGACTTGTGGATGCGAACATTTAGCGCTTGAGCCAACAGTCTAACCCTGCTTAATTACCAAAGCTAAGACCTTACCGCGGGTGATCGCCACATCTTTCATCCGTCGAAATATAATGGCCACTGGTACAACATCGCAAGCTCACGCATGTAGCCCAACAAAAGAAGAACCGCAGTATTACATTTAGAGCAAGAACCGACACCTGTGTTGTGTTTGTTGAGTCCCCCTATCTAGCAACATGAGAACTCACGGAGTCGTAATCTATCTAGTGAGTTGCGCCACCTGCAAGAAAGTTCACAGCTTGCTTACGTCGACGCAGCGTTCTGGTTTTACGAGCCGCGACCCGTTCTCCGGGTACAATGCGAGGACGGGTGGACTCAACCCCTCAGCGGCTCTTTAATACCGGATAAGAACCTTGAAGAAGTCCCTGCGTGGGCACGTGTTATCTTAACGATCGCTCCATAGATTAACTTGCGTTTTGTTGAAACACATACGTAACCCGTGCGACAGCTGTCCAGGCCTTGTTATTCGCATCACGGTCAAGTTCCACCTTCTGGGACGTTGCTGTACACGCACGGGTTAATCTATTGCGCGGAGGCTTGGCATAGGCGCTTCAACATTACAAGCCACACATACAGATATCAGGGACTGCAGGCCATCAGTTTTAGTTCATGAGTGACATCCCGTGGAGTGTGAGCTGAAGTCCACGAAAGTAAGCTAAATTCGTCATAGCTGTTAATGACCCATTGAGGCGGTGCGTCACATTTTTCTTACCGATACTAGCACTGCCTTCGGCGCAAGTCGATTGCTGATTTTTATCACGGCGATCTCTATCGGATCGAGTCAGAAAGCCCCTTTACTCGTGTATTGAGACTGCTATAATTATCGCATGTCGGCTGTCGCTGCTATATAACATCATAAACTAGGTCAAAACCGTTGGACCCTGCACCTAATATCGATTCGCCGCACGAAAACCGTCGAGGACGGTAACTATCGGCTGGCGTGACTGTGGCATGCAAGCCAATCGTAGGGCGAAATACCATCGGTACCCCGCACGGTCAAACCAGGCTTAGCGATCAACTCTTTCCGCGCGGCGTTTATTTGAAGGAATTGATGAAAACTTATTAAAGGACGTTAGCGAATGCTGCCGATGATTGCACGTATGCCGGCACCCGCTAAACGTACCGTGTGCATTTTCCGGGAGTTTTTACCCCCCAAAGGCCCGGGATGTTCATTAGCAGGTCTAGTGCGCCAAGGATGGGACTGGACGACTAAGGGGCGCAGCGGCTCTAGTAACAATTGTGCTAAGAACGACCTCGGCGTGGACCTCGCCATAGGCAAGAATTCGTGCCAGGAAACACTGGGGTGGAATGCGCTCTTAGAGGGCGTTACTAATCCGTGTTAAAACCTGTCCAAGTCCGGGACCCCCTGCTGCTCTGTATTCACTTGTATGTACTAGGCGACTTACCGTGAAGGTGTAGTTCACAGTGGATTCGCGAGAACAGAGAGACTTCCCCTAGATGGTGACTGTTTCATCGAGCCGGCGAAGGGCTTTTATCTTCCGATCCGACGCATTGACTTCCTAAGGCAGGGAGAAGGAGCTCAAAGATGCATCCCAACCTTCATTCATTGGGACTAAACGCTTTATGACATATCAAATTAGAGCACATTCTTACCCTATCTCGTTTACTCGGAGAGATAAATAACTTAATCTGAACGTATATGAGATGTGTCTGCACGCACTGGAGGGTCCTCCCTTACATCACGACTATATTCTGTTAACGTTTCGTCGGCACCAGTTGAGATAGAGGTCCAACCAGTAGCAATTGGTCATTCTCTTAAAGAGCAGGGTGGATCGCACAGGTAGCGTCTTGCTTGTATTAGCAGAGAAACATCGGATTTGTAACCCGGACCCTGGTTAGCGTTGTTGATCTGAATAATTCGGGTACGGTGACATTAATCGCAGGAATGCGTTCCCGCACAGACCGCAGCTAGTAATTTTTTTTGCTCAGAACCATCAACTGACATCGAGACAGATGAGCGATCGTATAATCATCGTCCTATCGCGGCGCTATAATCACTGTCAGCGCGGTTAGATTACGTACCTACTGGACGTCGATTCGCTGCAGCAGTTATCCGGTGCGAGACTGCCGTTACAAGGGTAGGCAGTAGCCCCCATCAAGGCTCCCCGTCTGAATACTTCTTCCGAGTCCGGAGCCGGGGCCTAGGTAGCTCTATTGTGGAGCATCGTGACGGTCAGTCTTCGTGTCTTTGGGACCTTTGTCGGCAATGCCCCTCTGAAGTGCATTAAAAATGGGGAGGAAGCGCAACACGATAACGTCTCGCGGCTGGATGTGAATGTTAACATACCATTAGGCCGGCGCCCGTAGCGGTCCAGACACACCGCAAGTACGTTACCTGGTCGATCTGAGGCTCCTGTCAGCGGCAATGAGGACGAAGTCGGCTAATAGGGTTTCAGCACGTCGGAAGCATTAATTCGGCCGAGGGGATGTCCTCCCGATCAACCCCTGCCGCCCGCATTATTAGTCAATGACTCATCGAGAGGGCCCTGCTAGGAGGTCTGCTCGCTCTAAGACACTCGTAATCGGTTGGAATTATCAACAATCAGCTGACGTGCGAACGGTACTTTTTCGGGAGCCGGTAGTGCGCGGCTACTGAACTATGACACTAGTCAATACACTCAACACACTACTGCAGAACACTGTGGGCGAGAGATGAAATACCATAGGCGGAGAGTAAGCTCTGCATGAGTCCTTGACTTGTTGTGGCCAACCCGACACGGTCAACGGCGATGTTGAAGTACGGGTGTCCAGCGTTCGATGTGATTTTTTACTTCCCGATCTGCTGGATTTTCGACTCAGTGTATGAGGCCCTGATTGACTTGGTGTATGGAGCGGGATCGACGCTGCGATGATCATATCGTTCCCGAGGAGCGAGAAGGCGCAGGGGAGTCCCTTAACCGCAAGTATACCTTAGCAAATGGTCATTCTTACTCGCTAGGCACCGAGGAATATTTAAAGGACTCTTTTCTATCACAATATCCATTTCGACTTCCACCACACTGACAACGGTGTCGCCGTCGGCAGGCGAGTGAGGGGATACAAAAGGACATCGCTAGCGGTGAGCAAAACTAGCGCGTACTCAAGCGCCTTCAAATGTAGAGGTCCTAATGTAATCGTTCTGGATTGAAGGTATTGCCCATGAGTCTATTCTAAGTACTGTAATTGTTAACTAACATCCTGGTACGGACGGTGCGGACCCAAAAGAGTCCTCGGAGCCGTGTATACGCTAACTTGCTAGTTTTACCCATATGAAGTTACGTTTAGTTCATTTTGAACCGGACAATTATACTAGATTGTCCCGACAGATGCTCACGGTGACTTAGATCAGCGATAAGTCCTTATGAAATGAAAATCCAATCCATATACATACGCCACAACCTTGCAAATCGAATGAGCGGCGCACCTGTTAACGTGCTTTGCTCATGACTTCCCTTATCCCAAAGCATAAGCTCCAAGAGCCTAGAAATGACCAGCCGCGAGAAAAGACGTCAAGTCCAACGGGCCTAACATGAGGTGCGTCGGCGTTATAAGTAGGGGGAAGGTCGATGGCTCATGTTCAATAAATTGTCATCAGTCAGCTAATAAAGTGCAAGCATACAGATTCAAATAGTAGTTCCTAGAGGGACTCAAACTCCACAACACAAATCACCAGCGCGCAAACAGACTCATACCAGGCCATCTTCCCAGAGGACTTGAGAGCAACTGCTGCCGCTTCTGAGATCGTATAGCTTGCTTAACAGACACACCAGAATTCTGAGGCATATAATTCGATCCTTTGTACGCACCGGTGGAAATCCTACATCGAAGTGATAGGAGAAACTCATAGCATGGTGAGGTCATAATCATAATTCTGTCATGTGACTACGTGTCTGAGGTTGTTCCCATTGGACCGCTAGAGTCTCGTAGTCGTTCTCCGTTCCCTTGTATACGGACCATCACGTCAAACTCGGAGCAGTATGAAATTGTGTGTCTCACTCCACGGAGGACCCTGAACGGTCAATCCCGATCCCGTGCCTTACACATCAGCTTGGGCTTTTGTTGGGTAGCCGCTGCGCCGCTGATCGCCGTCATCCGAATCACCGCTTCGCATTAAAGGGAGATTGCTGTGATGATACTTACTTTAGCGAGATTTGGGGACACATGCCTTGCGGATGCTTAGGTGCAAACCCATGAGCGAGTCCCTATAGGCTGAGATCCATCGTCGGGGGAGAATATTTGTATATCCATATGGACCCGGATGCTCCACAGATTTCGAGCCATGAGCTAGTACAAGTGGAAATTGCACGGTCCTTGGGACGAGGCTTCGACCGTTATGACCAGCTCATAGAAAGTACCCGTGTGTATTGGTGAAGGAACGGAGCGGTACGCATGGAATCAAAGCAATTAGTTTGTGCGAGTTCGACCTAACGTCGACAATAGCAAAGCTTTGTACCAGTGTTCTAGGGCTTAGGGAACTTCAGAGGCTCGCGATCGTTCACGAGATGAATATCGGAATAATTATTCGTCCGAGTGGGTTTCTTTGTGAAACACGTGCCAGTTATAGGGGGGCTGGGACAAATAACGTTCCTGTAGGGATCTTATGGGCGTTGAACTGGCTTAACGAACAAGATACTCAGGTGCCGGACGTCAATGCGGGGTTAGGTCCCGCCTAGACCGAGTGCACGTGCGTAAGAGTGGTGTTTACATGCTCCAGAGGCCAATTAAGGAAACACCAATCTAGGGTGCGTTGTTAGAGTGGACAAATGTGTATTCCGCTCTCTTAAACCGAATCACATCACAACGGCATGTCGGCGATAGGAGTAGAGTAGCAATGACGCTCTAGTTAGCTGACCACTAAGAATTGGTCAGGACTGACCCAGACTAGCGAGGACTCTAGCTGTAGCTGAGGTGTCGCCGAGTTGCGTAAGCGCCTATCATCCCTTTGGGGTCATCAAAAAATGACTCCGGATTCTATGAGCCAACCCGAGTAAACCAATGATTTTAGCCTCCGGGAGTCATACTCGCGGAAGCTCGGGATAATAATGAAAGTCAGGCCTTCCTCTCAGTGATTCACCTATCCTCCTTCTCTAATTGCTGCTCGGTCCAGTGCCATGGTCGTCTTACATCTAAGCCCTAATACCAGATTACTTTTTCTGCGCAGCTATCGCAGCAGCAATGTACCACGAGCCCGCATGGAGCCAAGCTAGAGCTCACCATTCGTCGCTGAGAGCCGTGTAACATTGGTCCCACAGCCATATGCGCATACCAAGTCCCTAGTCAGACTAACTCTGGCTAGCCAATATCGACTCGAGTTGAGAGCCGACCAAAGAACCCACGCGCGTATGTTGCGTTTCATAAACGGATTTTTTGCTGTAATCCAGCGTTCGCTTATCGGTGATGGTCCCCAACCTGCCGTGGGACCGACTACGCTAATACATTAGCACCCCTCCACCTAGGGTTAGGAAGGGCCATCCGAATCCCAGGGCCCCCAGAATCATCGAGATGTGTATACTTAATGCTGCATGTCCCGGTGTGACTGCGACACGCCCTTTAGAGGTAGGCTTTAGTGATTGACTCCGAGCATATTGCAACTGTCATCCCCCTTCCGTTTACCGTTACCCTTGCAGAGCAAAACCCCTCGGACCCGCTGTATCAATGTTGCCTGTCGGATTGGAACAAGTATTAAGTGATATTTCTATATACTCAAGAAGAAAAGCCAACATGGGATCAAAAGCCAACCGTTTGCACCGCTATCACATCGCTAGCGTTCCAAACGAAGCATGCATCCCGAAGCCATGGAGATCGCTATAGGTTGAAAGAGATTGCTCTCACCGACCCTCAGCCTGAAGATAGTAGGGTTCTCCTATAGGCTATCGCGACGTGTATTTTGCCTGCTCATTACTGCACTGTCGGTTGCCGGGATCTGCGCGGCGGCCCTTACTGCTAGAAAGGCTACAAGTATCACGGGGGTGGGCACAATATCCATTGTGTGCCCGCTGGACCTACACTTTCGCTGAGAGGTTGGCGCACGTGTCGCGTGCTAGGGAAACCCGGACAATAGGTCCAAACTCTGCCGTTGTGTACTGATAGCTCCACTCCTTCCGCACCTGTTACCCGCATTGTAAGACCGGAGTGGGATTACCGTAAACCTTGTCGCTGATTAGGCGCTCGTCCGGAACATCAGTTAAAAGAGTCGTGACATGCGATTGCAAGGTCCTCTCTAAGAAGCCGTCTGAGCAGTCTATATTCGAGCTCCCTCCAGGCTTCCCATCCCCCATTAAATTTTCCGTCAGTTAGGGAGCACTCGCCTGGTTGTTTGATGATATGTTGTACTCCCCGGTGCGTATACCAGTCGTCGACTTGGGGGGCTTTTCTCCTTTCTGCGTATACCTAAGAAATATACCGACAGACCGTCAGAATGTATTATACGCCGTGCAATGTGCATGCCATCCCAACTGGTCCCCACGTATTGACAACGTCGATGATTCTGGAGTTCTACGAGCACGCTGCATCAGTTGGGACATAGGCCATGCTACGGGCAAGAGCTGTGTGGTGACGGATTGGACCGGAATTTGCTTAGGCTTTGAGTTTTAGATACTGAAGCGGGTGGCTATGAAAGTAGTCAACTACTATAGTGGTTGGCCAGTTTGCTAATGACGGCATGTGTGCATTTATTACCATATAATTCAAAAATAAATCGCAGGTGGAACCTTCTAAGTCTTCCACTCCGGGGTAGCTCCTCTGCATTTCGAGCGAGTCCGGATGAGGCCCGGGGACCATTAATTGTAAGGTGGGTGCATTCTCCTTGTGTATTGTTGTCTTGTCAGAAGGCATTGTAGCAGGTCGGCGCCGCGTTGCACCGCATCTGCGATCGCCGCTGGAGAACTCGTCGGTAACTTATTGCAACTCTCGATGATCGCGGCGACACTCGCATGCGCAGAGCTGCTTCATTATGGGTCCCACAGCAGTGAGCCGACAATTACGTGATGACGTGGGGTCGTGCGCACATTCTAACACCTGGGCGAGGTAAAAAGTACTTCCAGACCTTGACGCTAAACGGCTCACCAAACAATTTTCGGTCAAGCGAATGGTCCATGTCTCACGCGAGTTTAGGGTATGATCTGTATTCCGAATAAACACTCAGACTATAGAGGGAGTTCACCGGGCGTAGCCTGCAATTCCACACTGGGTCTTGCTAAAAAATCTAGTCTGCCCCTTATAAGCCTATAGGGAAGGTGACTACAAGACTGTGTGTTGAAACCGTGAGGCAGGGAAAGAGATAGCGGTCAGAGAACACTATGATACTTGATGGGGCTCGTGTAGGACTTGTCTTAGGTTGAAATTTTTACATGCTTAGCATATCACATTAATCGATTTGCGCCGCAAGTTGTAGTTAATGGATCCATTGAGATTGGAACACGCCGAAAGACCATGAGGCTTGCCGTACGCAGAGTTCCATTCATATATCCTAAATGTGCTTTCTGGTGGTATAATGATTTTTTCATCAGCGTCTATGTCACAGTCCCACGACGCGCAATTTTTGTGACAATCACTGCGTCTCGTCTCCCACGCGTCCCTAATCGAACGATTTGGATAATACCGACTAGTCGTGGCCCAGATAGTTTGAGCTCACTGGGGCGGTTCGTGGTGTTAACTGAAAGGAGACGGGCCCAGGCCAATTCTGAAACTCACCACTAGGGTGGTTATTGCTCATCCCCGGAGGAGGTCCGTTTAATGGGTACTCGTCGAGTTCCCCCTATCTAGACGGAGTGCTGCTGCTGGTCCAATTTCTCGAAGATCATTCATTTTGATCCAGAAAAAGGAAACCAGCCGATATCGTAGGTTTCGCCGGTACCGCACAATATGGCATGCTTCTGCCGCACAATCTCTACCCTCTCCTTCGTTCCCGAGCTCAGAGTAACTCCACAACGATAGCATGGGTGCAGAATAACGTCAACAATTTGTCGATATTCAAGTATCGTGGCTTGTATTGGCGACCTCCTCCACGTCTAATGCGCGTAGAATTTTGGTGGTGATAGCAAGGTGGGTTTGTTCCAATAATAGTATTTGCTGACAACTGATATTTTAGTCGTAGAATCTGACCTTTTACGTGACTGTGGCCCTTCATCGGGATAAGACCGCGGGGATCGAATTCCTGTTTAGCAGACCAACATCCCGATGTTCCACGGTCCCCCGTGGCGAGTGGCACTTTCTCCGCTAATACATCTGAATCCGTTGGGCGGAGGTCTGCCATGTCTACTTCCCGGGGGCCTCCAGACGAATGAGTTAACCTAGGCCTACCTAGGACCACCAGTTTTGAGTGAATATGACCTTGGGGATTAACAATACAGTTCAATTAATACGTGTCATCTAATCTGCGCGCTACACTCTCTGGACCCTGCTCGAGCGAGGCGAGCTCACTAGCTCATTTTTTCGCCGCCCCATCCGTTTGACTAGACCTTTATACAAGGGAACTGAGTTCTTGTATTACGCGACTCGGGGTCTATATTGGACGGTCCAGTTGTGCCTGATCTATATAGCGCCGTGACTGTATAGTATCGCAACGCAAAGTTTAATAGTCTTACTTGGTGGAGGACATCCTCCTACGATTGCGCGATATCTCAGCGTGCTCATTGAATTGCAACCCCACTAATAGAGCCGAGTAGCGGACTTGTGATAACGGAATCCTTCTGTCAGTGGTTTCATGGCAGAGTGCTTAGCCGTATCTGTAGGGGGGGCTTTTTACGAGGAGACTTCCCGATCCAGCTGTAAAATTATCCGGTTGCTATGATTCGTTATTAAAAGCGGAAATATAACGACTTTGCGACGGAAAACAATCCCCTGATCAGCGTTGGCCGTACTTAAACACTGCAGCGTTGCTCGCGCGTTCAAATCACCCTAATTCTTTAAAGCTTAACCATCACCGGTGTAATTTTTTTTAAAGTTGGATCTGCGACTACTCCACGTATGATTCACGCTGTAACCTAACGAGTACGCTGCGGGGGCTTTCTGCAGACATGACTGGCGCATCTGTATCACTACTGCTCTAAGAGGAGGATTCCTCGAAAAGTAGCTGTTATTCTAGTCGAAATTTCCGAGGAACTAACCAAGACGATTAGCCCTTCAAGCTGGGGTCAATCGCAAGCCATTATCCGCTAGCTGGGGTGCCAACCCTGGCCAAGTACCTATCCACCCTCTTTAGAGACTCTCAGGTGGGCAGAGGTCGACCTGGGATAATAGATTATGTGCGTGCCCAAACAAGCTGCTCCAAATTGAGCGTTATGTCCATGATAAGTTGTCTTTAAAGGCTCAGTAATTTGTATATAAGGTTGAGATATTCATTCACATAGATGAGACGCGTTACGGTACATATTTCTTATAGTATTAGGGACTCTGCGGAGGACGTAAACTAAGGATCTACAGACGTAGGTCCTTACCTCCTAAATCCTCCGGGCCAACGAAGGGAGTCGTCCCGCGACGTAGTGCTAATTTCCCGGATGGGCTTCTGGTAGGCAAGTTTCGTCGCCCCTCGCAACGAAGAAAGAGTAATTTATACAGGAAAGCCGAGTAACTTAATAACAAAGAAAACCCGCGTATCGTCCGTAGACATTGATTTAGGTGCTGGTGTGAGAGGTTCGCGTGCATTGACAAAACTCAGAGGAATGCCCCCATGGAGCGGTGGAAAAGTGGGCGGTCGGAAAAAGTCGGGTGTTCCAATTGTTCTTCTTGTCGGTAAAAATGCCTTAACACTCGCTCAGCTACTCGAGGAATCAGACTTGATCAAGGGGCAGAGCTCATCATCTTGCACCGGTAACTTTTAGGGTGAGTGTTCGGGTTGTGCGCCAACATTTGGCTGAAGAGTTGGCGCGAAACATGAGGAATGCCGGGCACTTGGGTGTTCCCCCGAGAAGCTCAGGCCATTTCCTGGAGTGACAATCTTTCGTATCCTGCGCCATGTTTGGACATGCCTCAACCGTAGTGGCGCGCAGATTGCCGTTGGTGACTGAAATCGAAAAACCAGCAGTCGCCCCTTATTAGTTACCCCATGAACGTTCCAGTCCTGCTGAAAAGTCCCAAACGACAGGACTTTGTACCCCTGCGTAAATGTATCACTAGCAGCCTAATCTCAAGCTGAGGGATAGGCGTCCAGTCAGTAGTTCTTCATAAGATATAGAATTTCGGTGGTCGTAATTTCCATGAGGCATCGAATAGACCTGAATCGCATCCCCAGAAGAAACGGGTCTTCGACGAAGTAGCGGAATACGGAACAAAGCGAGCCGCTTCATTTGGCGTTCAATGGGCTTACGCAACCGTCATAACGATCCCCTGTGAATTATATCAACCCTTTTCGAAGTCAACAATCATGCAGACCGAAATGGTAGCATTATTCCCGGTGTCGTACCACTTATCCGAAATGCAAACCTCGTGGAGCAGGGTAGCTTTGTGAGGAACGAAATCTTTAAGTGAAAAGATACTTAGCACGAGGCATTTGAGAACATGAGCGAGGAATACGTCGTCATCCTATTCCTCAAAAGAGACTTGATTCAAGCGCTAGCTACCATAGTGGAACTGGGCCCATCGGGGTGTAAGGAAGTGGAAAACGTGACCGCGACGTGCACACAAACTTTGCTCTTTTGCCACAACGCGTATAGCCTGAATCGCCTCCTGAGCACTTAGACACGTGTCATCCCGGGGGCTAACTAAAATACGGCGAACATGAGCCTACGAAAGAGGGGAAATGATCTTGCGGCTCTAAAGAGTAAACATGGACGTTCCCCCTTGGAAGCGTCCGTCTGCCGCCGGGGTCTGAACATTGTGCCTACCTCAACATCGACATGCCACCGTTGCCGTTCCTCGGCGATACTTAATTGAGAATAATTGAGCAGGGGCCACAGCGCCAGACCAGATCGTTCGTATTATATTTGATCGACCACTGCATCACGCTCTCCGCGTATAGAGTAATCGGCACGAATCGTTCAAAGTATTATTCTCAAGCGAAAAGGCTGTCTATAGATCGCAATTTTAGTACACCGACGGGGGTGTGACTACAGCCCTAAATCTTCCCCGTATGTCTTCTACGTCTGCCTAAAATACGATCCATGCAGCCGCGCTCGGGAAGCGACATAAAAGGATGCAGATAGTATGGTCTGAACATTAGACGTCGTACTTCGGGGAGCACCCTTTCACCTAGTTTTGTTTCGATGCCAGGCGATCCTTAGCGAACACCTCCGGAAGGGTCTGGATATGCCCAGGTGCGGTGCGCGTTCATGCCCTCTAATTAAATTAGGTTGACGACCCAGGCACCGGTTCCCTGTCAATGCGGCTTACACCTACACGACTTGCACGCGTTCGCAAATCGTCCGCGTGAGCTCTAAGCGTCTCCCACTATAACAATCCTCCGGCCCAGGTTGCGGTAGGCTTTCCACAGAGTTAGCAGAAGGGGTGTGGTTAAAAGGCTCCTCCAAGATAACGCTGTCCAGCTCAACCCATTACATCCCAAGTTTTGCGGATTTGCTCGTAACCTGACAGAAGATTTGCTGCACTTCCCAATAGGTTGTTGCAACTGCGACCATAGGCGCCATGTTTATTTGATGCGTTGATCCAAAAACCGCATACTCTTCTAGGGTGCCCTATTTTCCGGGAATCCCTTCCACTACTTCTAGCGTACTCACTGACCCTATTAAAGGTCATATATTCACCTCCCTTGTCGTATCAAGAATACTGATTAGTAGGATCAGGACCGGTTCCTTAAGGTGTATATTGGGACCGAAGTTCTTTACAGCATTGTACTAGATACCCTTATAGGAGTGCCCCATTCATCAAGAACCTCGTTATAACACGCACGCAGCAGATGTCCGCGATGTGTTAGCACCTAAATGCTACCCTGAGGATATACAACAACGAATCTTCGAATGTCTAATCTTGCCCTACCCCTCGACTATCGACTGGCGCTGACGCATGCACAGTTCACCCTTGGTACAGGGTGCAAGTCAACCACTGGAGCTAGGGCAAACTTAATGTGTCATATCGCAGGCAGAGGTCTCCGAAATGGAGAGACTAATTTTGCCCCGCGTCGTCACAGGGCAGCGAACCTATGGCTCTGCCGGGAATAGCGCAATCCATGCGCAATTGGGCAGCTGGAAATACTAACACAGCGATTCCTAATCGCTGAGCTACCAAGCTTCAGCCGCGATCCAGTGGCTGTCAAATCGCGCTAAGCCCGTCGGGGGGCATTCAAATCGCAGTCTGGGAAGACTTGTGAATCAAGTCTCAAAGGAGGGACAATTGGATATCAGGGCGAATTTTTAGACTGATCATAAGCCACCAGAAAAATGAGCACTCGACCCGGCGCCTTTCCTACCCAAGACCTTGCATAGACAATGCCGTGCCGTTGACTATCAAGCTAACCTGTTCCAACACCGCGACGCGATTACGTTTAAGCGCTAGATAAGGGCTTAATTTTATTGAGCCGCCCGTACTAGGCTATTACCTATAAGTGCTGGCATCGGGCATAGGCCATAGGTTCGATTGCCTGTCGTTGTAAACGGCCATAGAATTAGGTTTGTGATACCGTTTTGATAACATCTAGACAGGTCGGCGCGAGTTGTGTGCGAAGATAGTGCCTCTCGTGGTGGTCGTACCATGTCAATATTTTCCATTTATTACGGCTCGTATAGAGCCACACCTCTGCCACCGATTTACCACCCGGTTCTACGTCTGTTTTATTTAGGAGGAATTCGAGACACGTAGCAAAGGTCATACTAGGTCCACGCCCCAGACGAATCATGACCGGCGCGTCTTAGCTTGCACCCGCTGTCACGATAACCTTTTATTCCTTCTGTCTAGCGCCTGGTTGGTTGCGATATCGCCCCTAAAAGTCGTCCTGCGACAACTTGCAATCAGAACGAGTGATTTATGGGGGCCCGGGACTAAAGACGGCCGGTTAGACTGCCCTCTCGCGGGCTTTTAATATCTTCTTTTCTAAAGGCGCCACTAAATTACTGCGAGCTCTATTCCTTTATCATCGACTATGGGCCCAACGAATTGCTTAACGTCTCAGAATTCCCTATGTTTCAGAAAGTCAAACCCGCCACAATGATCTGGATTTCCTTGACATTGTCGTGTGGCAGCAAGGCTCGCAGGTGACCACTAGTTATACAAATTCCCCAACCCCCCCATTGGGACCTAATAGGCCATGTAGTCTATACGCATGACTTATGGCGTATTTAACCGGCGTGGCACCGATCCCATCGTAGACCATTCATCAACAAGCCTAGATCGTGCTTTTCAATAATGACCTGAGGACTTTTGGTCGGACGGATAACCCTCAGCTTTTACCCATGTGGGCATCACAGCGGCTTGGGACACTGCGTCGATAGCTCTGAGTTAGTATTCGCAGTGTTACTGTAAAGCAGTGCAAGAACGTTTTCTAGACTATGTACCAATCTTCTTGGAATTTAGCCGGTCCACCGCGACCCTATCCAAGTAGAACATATAACGACCGGATATCACTGCCACTCCTGTCGCCCATTGACTTAGATACCGATCTTGCAGGGTCGGCATCAGAAGATAGTTCAGTAGTCTAGCGATATCGGCAGCCTAACGGAGTATGTCAGTCCTTGATACTCGAACGCTTGCACAAGCCATCTCCCATAGTCAGTTGCGTGGCACAAAAGTGAAACCCCATCCTAGGCCCTCTTAGCGTCACGTCACCTTTCGGCGGTTGATCTGGTAGAGACAAGCGACAATGCACAGGTAATCTACTAATTAGATCTCATCCGACGAAGGCCTACATCTGCCGCAGTCGGGATAGCGATCTGTGGTTGATCCTTTTGGATGTGCAACTGCTCGCTTCTCTTAATCAGTATTTAAGGAAGGCTGTGAGGGAATAGCTGTACCCGGTGGTACACTTTAAACCGAAGTGTGTACCAGTGGTATGGGAAAGCTTTGAGTTGTGCAGCGGTGAGTGAATGGGTCGTGCCGCATGCCTCTCTTGGACCGGAATTTAATAGTGGCGGCACAGATCCCTTCATAGATCTGGATTGGATAGCATACCGTCTCAGCGTACGGCCATCAGCTTATGACGCGATACCTGATTGGGGTTTCCAAGAGCTCTCTCTGAATGGCGAGAATCTCCAAACGTCTAGCCTAAGGTAGCGTAGCCGAACAAGTCCTCTCGCTTCTATCCGCCCCCTCCCAACGGTGGACTGAGGGAGGTATGTTCGACACAGAAAAAAGTTCTTCCCTTCACATGCAGCATCGGCAAATGCCGAGGCAGCAGGTATGCGGTACGTTAATGTGGGCATTAGAGCGGGTTAACGCAGATCGCACCTCCTTTAGGGAAGTGCGCTGGATAAGCCCCGCTAGTCGGATCGCCCTATCTGACTAAGCTCGGGGGACCATGTGTTCCGGGACTGACGTAGAGATATTGGAATCAACCACGATTACTGTCCAGACGCTATGTTTAGGCCACCAGTCCTAATTTGTTACAGTACTAGCTGCCGGTCCTGAGACAAGGAGTCTAGAGCGCCAAAGTTTAGCCCAACCTCCGGAGACGTTGGATGCCCCCATCCGAGGGTCTGATCAAGTATGAGGGAAGCAGCTAGTTCGCATCGGTGCGGCCAGTGGCCGACCCTCGGCGCACGGATAACACAGGAAGCACTCAGATCCTTCTGGATCATCGAAGAGGTGGGGTGGCCCCTTTCTTCTTTACTAGAGCTATGGCCCCTAGTACGGTATGTTAGGCTGTGGTGCAATTCCAGCCGGCTTGCAATCAGGCCTATTGACCGCATTTATGGGTGCAACCGGTTTCACCTGACGAAAACCCAAGGGGCGGTAGAATCCTCCTTACTGTAACAGAATGCGACTAAGATCGTACCCATCGAGGGGCTAGGATGACCGCCCCTATGCGGAATCGGCGCGGCAGCGGGAATTAAATGTTCCCGCAGTCCAGCCTTACAGTAAGCTAGTCGTCACTAGTCCCCACGCGGACCAAACACTAGCATTATGAGGTTGTGGCGCCACGTATATCCTAGCTGCCTAGAAGAATGGAGGGCCCCGGTAAGTGGAGGCATCTCATTTCTAGAAACGCGCCATAATATGGCAAATAGATGTATAGTTAGCGGGTCCTGGGGAGAGGTTGGTCCAAGGATTAATAGTCTCAAGTTAAAGGGTCGTTGTAGGGTTGCCCTACTGATACTAAGGTACCGAGGCCTGGGTGTTGCGTTTGCGACCTAAGGGTTAAGTGGTACGGGTATTTTATTTTCATCGCGATGTAACCTTTCGCCGTACTGCACGAACAAGCTTTTGACTGCGGAGTGCTGACGCCTGGCCAATTGTTGGCTGGTATATACGAGTTGTAGTGGGCCCTTATTTTACTCATGGTGCCGCTTGGATTCACAAAATTCTGAACCGGTCCTTAGCCGTCAGAGTGCATTTATATTTACGAGAGCGCATCATAACGCGCGATTCGATAAGGAGTGATCTACATGGAATCGGTCAGTACTCCTGTTCCTACTGCTAGATAATTAGCCGTAAGTTCACCATGGGAAAGATCCGCTAGGGTATCCGTCCCTTACTTTTGGTCGTCTCTTACATCCCTGTTGATGTGTCGTCGATTTGCGCCAAGATTCCATATCCAGAGAATTGACTGTGAACTGCAGTGTGCGTTCACGGGAGGACAATTATCAACACCTTGAAATATAGGGATGTGTTTGTTGGGACCTGAGCGGAAGGTATGTACGTTATGCTGACCCAGGGCCGTTAATCGTTTCCATATACGATTTTAGTACCTTGTTCGTCTATGTTGCCGTCCAATTTCCTCATAGCTTCAGTGGCTAGAAGCGCCATGACTACCGCTATTGAACCCTTGAAATAGAGAGGCCCGGCTCGAATTCCGACTGTGTAACCTTCGCCCTTAGCATGTCGGTCAGGCATGACGTTTAAGGTGTGGTAGGGAGTACAGCACTGACCCCTCAAAGCAGGCTCGGTCATATTCTTATGGCTCCGGTCTTCGGAATCGCTTCTTCCATACGCGAAGAGCCGTCTCCGGTTATGACCGCTGCCTGTTCATCATGGATGGTTAAGACCCTAACTTTCAATCGCATCACGGCATTAAGCCAGCGATCGGAACCGTCTGTGCCGAACCGATCTCTGACATGTAATCAGTGCCCCCCTCTCCGCGGCGAATAATTACTTACAAGCCTCGAACTTCTGTACTTGGCAGAAACTCACTATGACTATAATGGAAAAGGGCTCGCCCGCGTTCGGAGCGTCCAATGCCCGTCGTGGGGAAGCCAAGATCAAAATGGAGTCAATCGACGCCACGGGTTCCTTTCTCAGCACTGCACTGTGGGTAGCCCACGGTTGGGCATGCCCTATGGGATCCACACTAGACGTCTAGATCGAGCCAGGATTAACTGGAGCACGGCGTTACTGATAGGCATACCATGGCCCTGGGGCTGCCGAATTCGAACCGCTAGAACCGCGGTACGGGACGAAAGAAATGCTCTTGCCGAATGAACCAGACCATACTGTCGTTGTCAGAGATAAGCAGCGCTTCTGCTCACTATGCAATCCAATCTACATTACCTCCTCCTTCTCACAAATGCACGTACTTGCCGCGCCCTTTTAGGTCAGGGGCGCGCAGCCCTTGATAATAGTACAGCGGGCTGCGCCCAGTATGGGTTACTAGAAAATCTCTTAGAGCGCCATAGGCGCCGCTGCTAGCGCAGTAGCGCCGCGGGTCGGAGAATGAGTAGCGAGGTTATAGACAAAACACGCCGGCGCTGCGTAAAATATTCAGTACTAGCTGAATTGAGGCAGTTGGACGGGGCGCGGGCTCACTAGTTCGATAAAGGCAGGTACCCTAAAGCGAAGTTTGCTACTTGTTTACCTTTCTCCTGGTATCGTTAGCACTGCCATGTGAAAATGCCACGGTTGCCGGCCTCGCTGTCGTGCCCAATGTTTATCGTCTCGAACCAGTAATTGGGAGGTGGATAAAAAAGACTTGTGGCTCGCGACATTTGTTTAAACGACTCCGTTCTCAGTTCTCGCGGGAACGGAAGTATGGCTTATTTATACAGATCGTTCTAAGTGAGGATCTGACTCTTTAATTTCTGAACTTAAAAGTTGGGGTATACGCCCATAATGTTTAACAAGCAGATGCCCGCCGTGCGAGGAAATGATTCTTTTAGCATAGACGTCGCATCCCCCACCATGGGTCCCCACTAAGGGGATATGTTATGTCAGACTCATGGTGAGACAAGTATAACATTTGGGTAACCCGCTGTTTGAACGGGACAGGTAAACATCATAGGAAGGTTACTAAATTGTATGTTTGTGGGTGCGCTAGTGACAGTGGTTCTGTGTTGGACCTCCCGCCTTCATTGCCACTAGCCCAGAACTCCACAATACTTACAGCGCAGTCGTCTGGACGGCCGGGGCGACACAGAGACGTCGCGCGACAAGCTGACTGCTTCTTAATGGTACAAACCATGTCGTAGGAACAGTCAATGAACGCGACGATGGCGCTGCTGAAAAAGCGTCGTCATGTAATAAACGAATGCATATTACTAATAGACTCGGTTGGTGCGAGCTGCAGGCACTCGCCAACTCCCGTAGAGACCTTCTGGTACCCGCGATCACAAGGCAACAGCGTTTTTTAGGTTCGCGGCATGCGTGTAATATTTAATCTTAGTGCACTCAGGACGGGTGCTGAGAAGAGTGCCCAATACGCAAGATCCAATGATCCAATATGGAGCTGAATCCTTAGCGGTGAAATAAGAACAAGTACTTACACCCGAAATCAGTGCGGATGGTTGCGATAGGGCTCCGAGCTGACGAATCCGTGTTCTAGTTAGGTTGTAGAGCTCGCCAGGCAAGCAGAGGTAGTACTCACTACAGCTCCATCGTCCTTTCATCTTCTAACGGTGAGTGATTTCAGAGCAAGCCCGCATAACAGTGTTGAGATAATTCGCAAGTCAAGTCGTTTGGTCGCATAGGCATTGTGGTAGCTAGTTTACCAGCACCATACTTATAGTTGGTCGTTTGCCACTCAGTGGCGGGCTCAGTATCTGGACGTTATCTAGTCTCCTCCTTAGATTTCATGACTGGCCGGGGCTCCTTCCTATTGCGCCTTTGTATGTTTGCCCCCCGCAACATGCTAGTATTTTGTCGAGCATTTGAACTATCGGCTCCGTGACGGATTTAAGACGTCAGATGTCGCTACTGGGAGCCCAGGGGATTTGATGTGTCTGAGATTTACGGAACCAGCCACCGCAACCCACTATGATCCGCAGTAGCTCCGGCACAGGTCTTGGATACCTTCGGGAGGTGCCTTCAGTTCTGTTAGGATCAGTTTTATCGCCGAAGTGCTTCAAAGCTTTTACACGGACCGTGCTTCCATTTGGGCAACCTCTCTCACCGGAGCGTGCACGCTTAGCATTGCGTTCTGACGTAAGGCGCGGCCTACGTAGGATCGAACTGGGGTCATGATATGGGCACCGACGCAGTGTTGCGGATGAGCGAGTCAACGAGTCAGTCCTTGATTGATAACCATCAATCCAATTCGCTTATTTAGCGCTAACTAATCGCACGGGGTCGACTAATTTAGAGGAACTTGGTCCAAGTAAACCGTCAATGGTTTCTACGTGATGGCAACGTCTTAACTTCTCGCGAGAATAGTCGCTTCCAAACCTTCAGGATTAGAAACTCGCGCACTTACCGACACATGGCTCGCTGCCTTTTTACCACGCTTCGGCATTAAGGCACCAGTAGATATTTGAGCACTCTGGCGCAGGACGTCATCGTCGGTCTCCTCACATGACGTGCAGGGTTGGAAAAGTGGCTAATGCGAATCAGTACTTGCTGTTGCGGGGTAAAGCGACAGACCTTCCACGCGTGTCGTCTACCCCACCAGACCCTACTGAGATGTAGACCTAGCCATGTTCACCCTCAGATCAGTCATCGCCTTAGAGTCTGGATCTCTAGTATGAGTGCAGGAGGCTATCCAGAAGTTTGGGGTAAGTACGCGGCTCCCCTGCTATACCATCGACTTAGCGTTAGGGTTGAATACTACAACCCAGAGTTCCTCCCTCCGCTTAATTAGCCACCTCAAGTAAGTGTCAACTCCTCTAGCGGGTGACGGCACCCGAATGAGGCGGCCCTGAGAGAGTAACCAGAACTCGAGGCACGGGCAGGTGGTAGCCAACACTTACCCCTCATGTGAACTCGCCCAGGCCCCGGAAACAAATCGTGTTAAGGGGTTATGAGCGCCTATACGGTCGCTATGAGACTATAAGATGCTTGAAACGGATGTAAAACTGTTCGGTGAAATAGTATGTTGTCATGCAATCCGATTCTATGTCATTTTCGACTGTGTGGAGTAGTGATAACCGATCGATCAACGCGGTTGGCGTGTAAACTCTTTCTTTTCGGACCGCTGCTCTTTAGTATTTAACTTTGTAGAACGAGTGGTAACTTTCAGTGGTGATCGTTCCGGCATGTAGAGACAGGTCGTGCGAACTATCGTACGCATAGGTCCACAAGTTTCTTACCTAGAGATTCTCGCTTACAACAATAATGAACGCTTTGACTCCTTAATCAATACGCCCACGGACTGAGGAATGGAAATTTGGGCCCAGCGTTAGTATATGACCGGCTTCACGGTGCAGTGACTATTGCGCTGGGAGAGGCCCCCCTACGATTACCGATCCACCTGCGACTTTAGAGTTCATAAAGTACCGACAAGCGACGAAGTAGACGGGAAACTTGATCGGATGTCTACGATGCCAAAGTGATCCCCTGACGCTTACGCGGCCTAGGCTGTCTGACGTCGTAGCTTTCTTTCGTTTGTGTCGAAGGATAAGTGACAGATCTTCTGAGCTTCCACCAATAATGTTAGTGTGTTCATAGCCGCCGTTCCGGAGCCCTGACTTGAAGTATCTGGGTGGTTAATAAATTACACAAACCTAGTTAGCGCTGGTAGGTCGCGTCTCGTCTATCTCATTTCGTGACTGGCCTCAAGCTAGTTTAGCGCCTTTTGATGCAGTTAGAATTTGGTTGTGGTGGACTAGAGTTCTCTGCACAAATGCATTAATTTGGACGATTTTTTTGCATGTAGCTTAACCCCGGTCGTCGGTAGACACTGCAAAAAAGCGGTCGTAATTAGAACCTGCGCGGCTGTATTAGGCTCGGTATTCCTTGGCCTACGGTCTCAAAAATAAGGCGAATTAGGCGGCTGGTTCTGGGATCCGAGGACACTTTTTCTGTCTAAACCATCTACGCTTGGAGAAATGGCTCGTAGCGGACCATTCTAGGTGCTGACGAACTAACACAGTAACCTATTCTCGGTAACCGCTCGAAAAATCTAGGAGAACTTGCATAGTATTACTCCTAGGAACTTTACATTACAATACTGCGACCGCCTCTAAATATTGAAGGATTGCGAACACCCAGTCCCAGGGTTCTAACCAGTGTGCATCCTACGATGAGGGAGGCTATTATACGGTTTACAGCAAAGAGATCATGCAATGCGGTCTGCGAAGCACGATGTCACAGCAGACTCAGGCTCGACCAGCATGTAAGTTTCAGCAGTGAGACCGGTCATTCCTAAAGGGGGTTCGTAAAGGGGGCTCACGCTGTCTGTCCGGTGCAGAGCCTACTACCTGAGTGTATGCCTTAACTGACATCGTCCATTTACAGTTATGAAGCCCCCCTACGACCAAAGCCGATGGCTCAACAGGTACTCAAGGTACGAGTTATGTACCGTGCATGGATGAGCGATATCACCCCACATATTACCCGGTACGCGCGTCCTTGTGCACCTCCCCGCGCCAGAACCTAGAGATCAAATGTCATGGTATGAGCTCAGGCGGCCGATACGCGTAAGATTGGAGGTAGTCATGTCAACCCCATCTATGTAACCCCGAGTTAACGCCACCTATGATCTGCAGCACTTTATAGTTTCACCTCGTAGGAATAGACGGCGGTAAGTAAGGAGGGCTAGTGAGCGGCATCGAACGTGGCCTGCCTTAGGTCAAGAATAGCCGCTGTGGTCACTCTTGAATGTGCCCGGCCTGCCCTTGCACGAACATTACAGAGATCCTAACTGTAGCGCGACGTGGATCGCAGACCCTATAGTTGGAACCACGTTTTGGATATCGGCCTCGAAACCCAGATGTCTCCTCGGATGTTTGACCCGTTGATTAAGCCACCGACGCCAGACTCATACATACCCCGGTCTGTGCCCATATTGTACGAGAGTCGGCATTAAAAGACAAGGCCATGCAACTGAGACCGTTAACGGTGGATTATGTTAACAAGAATAGGTCCGTACTCCAGTGTCGAGGTGCGGTACCTACACCCCCTTATCCACTTGGCCAAGATCTCCGAGAGTACGCAAAGCGTACAACCCTACTAACCTCTGATCGGAGAGGCGTGCAAGTCTACCGTCTTTTTTCCTCGTAGGCGGATCAGGCTTGGGCAGGTTGATGGCGGGACATCTTTTCGGGACTCGCACATCGACTATGCCTTTGGAGTCCAACTTGTGGGAACGCTCGCCCGTGAACATGAATAGTCACATTTGTTCAGGCTGTTACCCCACACACCTATCATAAGGCGTCGATCGCACACTGAGTCCACCGCTCTAGTACCGATACTGATACTGCTTGTATGATCTTGTCGGCGTAAGTGAGTCTTGAAGCTACAGGTCATCCTCCACCGGGTACATGACACAAGGTCGTGTTCGCGACCCGTGGCCGTCTCCGCGCACACGCGTCGTAAACCACAGCGTGTTGGCCCCCAGTTGCACGAACCGGATTTAAGACCGCTCGTTACTACGTGCTAAGCGTCGTTGTCGTCTCGTCGTCTTTCACAGGACAAGCTAAGGTTGAGGGCTAGGCTTTGTCTACGCTCACAGACCAAACACTCAAAACATTGTACGCCCCCTTCCCTGCACTTCGGCTGAGACTAAGAATACATCACATAGCAACTCGTGAGACCAGTTGTTAGTTAGACTGCCATGGTCATCAACTTAAAGAGTACACGACACAGTATGCTTTCGCCAAACTACTCGCCGCTTTAAGTCGTCGATTGGTCTTTGGGGACATAGCCGGATAAGAAGTCAGCCGCCTTGCCTCCCATAACTCGCGTACTGTGTAAATTCCCGCAGGTCCCCAGACGGTTCTCATACATTCAGCGGCACTCCTAGAGTGCACGGCAAGAACGATTTATCAGAGCACAGTAATCCAGTAGTTTTCAACAGCAGAGCGGGTCTACGCCCAATCTCTGACCGAGGAAGCGTTTCCATGCGCTTCCAACCGCTAATCTTTCTATTTTTCTGAGTTTAGTCTTTCATTCGCACCTTAGAATATCATGGGACATGAACGGGTACTGGGAATTCTCTAAGGCTAGACCACCGACGGGTGCATCGAACACCAGTCAACCCCTACTTCCATTTTTTTAATATCAATTCATGTCAACGCGAGGCTTTTGGACACAGAATGGCGACCGCTTCCCCACGTATTGCCAGATACATTAGCCAGTCTCGACGACCAATCATGTTGAGGAGTCTACCTTGCGGGAATGCCTAATGGAAAACTCGTGCCCGACCGAACTGTTCTAAACCTCACACGAGGACCTCCCGGGTAATCTGTGATTTTTACCACTAACTATACACGGAGCATTTCGATCTTCAATGGCCGGCTTTTATGACTTGGCTCAAATGCCAACCTTACGCTCAACCAGAGAGCTTAAACCGGCTGAAAGTATGTACGATTAATCGGTACGTTTGATACGCAGCTAAAGCCGTCTAATCCACGGAGTATCGTTAAGACCCATTAGCACGTGTGCGCCTCTGAAGAGAATGGTTTATAGTTTCGTTTGAGCGCCAATACTGGTAGTATGGAAAACGTTGGATCACCGAGAATTTATACGATCCGATGCCTCTCGTTCTACGCCCTTTAGGAAAGGCTAACCATGGCAAATGCTATACGAACGCCAGGGGTGTCAAGCCAGCGCCATACAGAGATCTACTAATTGCTGGATCGCGCCATGTGAGATCGCGTTATGGGATCAGAGCGCATAGTACTTCGAAACGATCGCAGAGAGGACGTGGCCGTAGAGGGAGGTTATCGCTCGGTATTATCCCCAACCGCAGTGAGGAGTCAGCTTACCAAAGCGTTATAAACATGTTAGACAAAACGATCGGTACAAACATAACTGTAAGGTGTGTCCGAGTCGTGGGGACGGTGGCATATATGATAAATGAGACGTTTCAACCCAGAAGTATATATGCTTCTAACGTCATGCTGCATGCGGTCGGAAGCATGCGGCCAACTCAGTGAGTGGGGGATCCGCGTTCAACCGTTAGGTATGCTTCCTGGTAGATTACCGCAGGTTAGATGGCGTAAGCTGCAATGGGACCGATAGAAAGCCATTGGATGTGACACGCCGGTCTTGTCCGATTGGCTTATGCACACAACTGAAAGGCGGTGAGCTCTTAAAGCCTGATATAGAATCTTCTATAAGTTTGGCCGAACATATACAAGTGGGACTTTATAATGGAGTAGTCGATGTCCATTAGCCTAGCGTCCCGCTACTCCCAGGCCTCTAAACAGGGGCAGGTGCCAATCCTCGAGTGATAAGCACCCGCTTGAGCCATGTCCATATACAAGCCGTAGTCGAGGTAGTTGGCCCAAACCTTATGTCGCACCATTAGGTCGGCCTTGCGGGATAAAAGTCCCTGATTAAGGTTGTGCGAGAGTTTACAGTCCTGCTACTCAAGCAATTGCTCCCTAGTGTTCTGTGGGTTCCGGACCGCTATAAGATTATGATGTGTGAAGCGGAAGCTTAGTAACTCCTACACCCATTTGCCGTCTCGCTGTAGTGCACCCTTGAGGGTATAAGTTCGGACCGTGCGACGTTGTCAGACAAGTGCATAGTTCGCTGTCCCTTGAAACTTACCACGCACAGAGCACCCCTAACCAGGCAGAGCTGCAGATCACCTACCCTGCACCAAAAGAATCAGGCATCCGACTCGAGTATGGGGAAGTTGATAGGATTGTCACAGTCTCCGGGTAAGTTAGTGAGTCTGAGCACCCGTAGCGGGTGCGTTAAATGTATGTAGAGAGCTGCTGTGCGAGTCATCAGTCGTTAATCGATAGGAATTGAGCACCCAATATGGCCCGAGTGAGGTACTTCTACCGCGGAGCGGGGGTACGAGAGTCCTTTGCGACGAGGTGTAGGCATCTACTTTAAAACCATGAAGCAATTTGGTAGTTTATGCTTCTCTGAAAGTGATTTACGTCCGTCTGCGGGAGGCAGTTACATGTGAAGCTGGATTGTACGCCGTCTCGACCCCGTCGGGTTGTTTTGCCGTAACGGTAAATCCCAATAGAAGACCTTAGAATGGGAAGGGGTGTTCACGCTGACGCCGTCATCACCAGAGGGACCCACCACCGCTTTGGTTCCAATCATGAATGTACGAACGTATTCTAGCATCCTGGATCTACCTACAAGCAAGAGACGGGATGCCCGCGACTACGTACAGTCGATATTCTATAACGTACTTATGGCTTAAAGGGAGCGAACATTACCTCAGCCAAATTGTAGGTAACGGACGAGAGACGTCTGCTGGTATTTGAAGCATTGGACGTGTTGTTATGCTATGTAGCCAGTATACGATAAGCAGACTCCGCTCTAACTTAGTTGAAAATCTTCAGATGTATGACGTGCTAGAAACGCAGCGTGAGTAGTAGGTTCTCACACGTTACGTCGATCCTGACGTAAATTTTGCTAACAACGCTAACCAACGGCCTCCATGCTAGAATCTCTCTAAAATATGCTAACGACCATAATGATTGGTTTCAGTCGTTCCCTGCGCGAAAAATGCGCCGAACAGTGTGCGCGCAGTATTCACTTACATCGCACGAGTGGAATGACGCTCGGTCATCTACCGGTTCAGTCACTCCCAAAGCTTTGTAGTAAGTGTCATCGACTCGGACATCCTTCGGAGTTCGATGGGTATCAAGCGCTTTGCCACCCCCCCGACTGGAGTGGGAAGCCCCCAAGGATAGTTCTTAGCGCCCATTGATCCGGTGTAGTTAAAAAATCTCATCCGTCTCCAAGGCGCGGTCAGGCGCCCTACTACGTCTACTATCCGCAGTCCGGCCCGCGTTAATTGGTGATGGTCCTACATTCTGACAAGGGGGATATGTAATCCTTCTCCTGTACCCGGGACTAGACCCAGGAATGAACTAAAGAGCAACAGCGGTGGGTTCCGACGAGTGAATCATCGAAAGGGGGTCCTTCTGAGGACCTAAAACAAATTCCTTTGGGCTGGCGGAGTCAGCCATTCTCCATCTCACCGGGGGCTTTCTGATCGACTCGCCAGTTGTCGTCCGAACCTGAATGTAGTAGTCGGACAGGAACCTCCCCCACACGCCAAGCCTAGTAAGGGCGGTTACCCTTGGTATTTTGCAGGTGTAGCCGAAGAGGGTGACCCTCCCGCGGCGCATGTCCTGAGCACACTTGCAATGCGCTCCTGGGTGAGTTCGGCGTCTAAACTGTGTAGGCATCTGCTGTGTCAATACAAACTATGACCGCCTAGATTAGCGGATGAACCAGGAGAGAAATCATGAACTGAAACTGGAACGTTGCACCTGTTCCGGAATGCTGTGGCAGTGTCCGTTGGCAAAACTGAGTCGTACCCATCTGGTTCCTCGCCTCGTACCGTTGGGTTTGATGGTATAATGACAGACGTCGAAGCGGTCATAGGGACTCAGGAATTTGGGAGTGGTATCGGAGCCTCCAAGTAGGTGAACCATTACTCTTGCGCCGGCAAAGGTATCCCGTGGTTGCTCTATAATACTAACAATGAATAGCAGAATAGATTTAATCGGCTTTGATGGCCACTCCGATGACTTCCTATTGCCTAACAGGAATGAAGAATTGGTAGCCAATAGGCCAGGTGCACCGACGTATCAGACTTATGATATTGCCGGCATGGCAATGGGCCTCTGCCTTCACATGGCCTTAACTGATGCAGACTGATACTCTAGGTAACGCAAGATCTGGGCCCTAAACCCTGAGGCGTCACATAGCTCCCCTTATTCTCGCACAAGGAAATAAAGAGAGAGTGCTGGCAGTGGGCAGGCCCCAGCTTGGCTTAATATCTCATATCTGTCGCATGAAAGTCTTGCTTGTGCGCTGTAAGACACCAAGTAGCCCGAGGCGAAATAGCATATCTCTGATGGGGTTTCACGCGGGTAATAGGAACTTCTGTGTCTACTGTTGTCAACTGACCTTTTCGGGATGTTTGTAGCAGCGCATTGGCCTGGGCGCGAGTCATACGGCGTCTTGCGGCCTGCGTTCAACTGTGCCCAGGAGGGCTGCAGTATTTTTGCGACGAATAAGTCGCTCGCTGGTTGTCGGATGTCTGCCATCATGCAAAATCAGACGTGCGTGGTCGGGGCCCTGCGGATTGCAAGTTCTAATATGAGCTTAAGTCGATATGACCTCTCAGAACAGCGTAAAGCTTGCCTTAGTAAACCAAATAGATGGTGGAAATGTGACTCCACCTTGGGACTGTGTGGGGTATACTTCTATAAGACGGTGGCGCGTCTTGAGGGTTTCCGTTAGAAGGTAGCTGCGGGTTGTTACAAATTGATTTGGGCTCCGCATGGTGCGAGCCCACAAACGCTCCGGCGGGATCGGGAGCGCTTTCTAGTTCGTACCTCGCCTTCAACTGACTGAGGGAGAACCGCGCGGAGAGCCCGTACTCGATGACGTCTGATAAACAAGCTTCGGGAATAGCGCTCCCGCCCGAAGGTTACCATTGGTTCCTGCGTAACTATTTAAGGCAGCGCTGAATTCTGAAGTCTAAGACCTTGAAATTCGGTTATAGTTACCCAAATCCCACCCTAAGTGAGTGGCCGAAAATGGTTCTTCCAGTTCTGGGACGTCAAGATCGTTGCCCGGATATATACGTTTGATTGGGCCGATGATCCCCGGACGTCGGGATCCTTAGGCTGTTCCGCGACGACCGCTCTGTTAGTGCTTAGTCCGGCGCCCAGTATGCCTGTCTGCTTGAACTACTACCAACCGGATCCGCTTCGTGCTATTGTTTTATAGGCCATCTTATGTAATTCCGTAGGCGTAGAGAGTTTCGACCACGATCCTTATTGTGACACTTTACGTATGGAATCGTGCTACAACTTTAGCGCCCGGAGGATCAAAAAAGGGCACCCCCATCCGTGCTGACAGACACCATAGCCACGGGTACCTTCATTACGAACCCTTGTCTTAGTATGGTGGCAATTTAGCACACACCTCGCTGGGCCCCAAGGCGGTCTTACGATACTAGCGAGAGTCCAAAGAACCCCCGCAGTTATGTTTTACTTGAAGTTCGGGACCGGTCCGAAAGGCCGGTGAATATCATCGGCACAGTTGTAAATGGGTTACTCGGTCTAGATCATTTAACAGTCTCGGTTGCTAAACTCTTCAGATACCACGCAACGGTTTGCCAGACGTTTAAACAAAACGATAACGTATGCCCAAAGTGGGTTGGCCGCTCCATTCCAGCCCATATAAAGCATGCTGTCACTGTGAGCACCTCAGTCATGAGAGTAGTAGGCCTTCGCGTCTAGCGAAACTCGACTCGCACCCGACGGCAATTCCGTATGCGTTATGCTTCCCGCATGGTTACACTCTAACCGACCTAAAACGCTCTATCAGGAGCGGTTATGAATTCTTCTTGGTAGTCATGCTACGGCTGCAGGGGGCGGGATCTATCCAATCGGCACTCCGATCAGTCGTTCACTAGTCAAGCATCTCCCGTCTGCTCATTGTTGAATTCACAGCCTTTGATCCTAACTTCCATTCTTTACGGAACTTGCGTTGGTTGACAGGCGAGTTGGCACCGGCATTACCATCAATAGCTTTGAGTTCAGTACAATTGCGACATGTTGCACTAGTGGCCGTAGCTATTTTTAGTTTGGTCATCCAGTCGATCTTATACAGCTAGGACGCCGGAAGGACGGGAAACCCCGTAATTGCACCAGGAGCGGCCCGCACGGCGCTATTAACCCGAATTGAATTGCCTTTCACAGAAAATGGGTCCTGGAGTGGTTTAGGAGATCACCTATAATTTCGTATTCTCTATACAGCTAAGCTGGATCCCGCGCCCTAGGATTCTAATATGTTTGCCCAAGACCAGTCCTGTGGAGGTATAGCTGGCAAAATCCAGTTCCTACGATCAGAATATACTTAAAACTACGTAAATCTACGGATACACTCTCTTTAACTTCTTCGGTAATTAACAGCTAAGGCCTTGGCACCGAGATCGTCGTACCGGTCACATCGTCTTGGTACGATTGGCTATGGCTTAGGAGCAGAAATCTTTGGGAACCCCACAGGCCGTTCGAGTTACCTTATGAACCTGATCTAGGTAGGGGCAGACCTGTTCGGAGTTGCTCCGTGTCCGCAACGACCGCCACTTCCTGATCCCGATTATTTCCGTCCAAGCGACTCATCAGTTAGGTGGGGCAAGTGAATTTTTGCTGCCCCTCTCTGGCACGACGTGTACATAGGAGAATGAAAGTGTCGTTAACACCCCCTGCCATGGGCCTAGTGCAGACCATATCCCCCTATTACATCATGCCTTTCGAACAACCTGGCTAGAAATACCACGAAAAATACTAATACCGGAGTGTTATCCACCCTAATTCAGATCTGGCGTGCTATACCCATCGTTAATTATAGGCGTAGCAGTGGTTTAGATTGAGTATGCTTATTTTACGGGTAAAAGGTCACTCCCACCCCACTCCCGACACATATTAGGGAAATGGCGTAACTTCAGTTACCGCTCGTGAGGAAACCGTGTCTTCCAGGCTTAAGACTACTTTGCTACTCATGAGGTCGTATGAACCCAGATTAAAAGCGGATAATTGCTCCGTAGGTTTGGTACACGACACGGCGCGGCTTAGGGTTGATTGTGCTCTCGGATGGCCGAGGTGGCCTCTGATCGAATATGGGACTAATAGGAATATTTATATGGTGTGCTATTTTTCAATATGTAAGCGCTAAAATAGGTCGTTGACCGTAGTGTGTAAAACTTCGTCCCCCTTGAGTATCGCAGCCGGTAGAGCACTCCTTGATATCAGCTTACCGGAATTAAGAAGCCCGGTCTAAGGCTCTTGTTCTCCCGCAGCATAACCAAGGTACGTACCCATGTCCGGCATCGAGATTCGCAGTGAAATCAGTCTCAGACGGAGATGGGATTTGGCCCGACTCGGATCTGAGAATATACGTCTTGGGACTGTTCCGCTACACAGACTAGGTTCGATCAGAAAGGTAGCGAATCTTTTGGAGGCCTCGGCAAGCCTGAATGTGCACGGTTAGAATGGTGCATGAAGTGCTGAAGGGGGGACTAACATAACAGCGCCTATCATAGCGCTACCGAAGCGTCGCGCATTCCAACTAACGGCATGCGCCACAACCCATGGAAGTGCGATTCATGCGACTACTCGGGTCCGTCACAGATAATAGTCTAATACATCATGACCGGTACGCAAGCATTGCTTGTTAGCTTATGTCGCACGTTACGTAAATTCAGAAGAAGACGGGGAATACGCTCAGCTTCTCGCGTATATAGTGACGGTGTAGCAGTTCCGGCTCGGTGGGCCCGGCTGCCGCGGCGGGTTACCAAGGAGGCTAGTAAACCGAGTCCAACCAGGACTGTTAAGATTTGTGCGCCCTTTTTTTTGTTTTCAGGAGACTCTATCGACTTCTCAAAGGACTTAGAGTTTGCCTTCGCCGAAAGTTGGTAATCGCTTAGTGGACCGGGTAAGAGAATTACGAGTAAGAGAGAAGTATTGGACCGATACCACTCTCACATCCATTTCTGTAGGGGACTTGCGACTCCTGTCATGCTCTTAGCCGGTTAATGCGAAAGCCCCCCTAAGGTGTCGTAACTGGTTGCGGAATCGTCGTTGGCAGCCAGTAAAACCCCCTCCGGCGTCAAGATTCTCTCCGGTACTATCAATTTCGAACGTAGTTTCGGTCCGCCCCACACCTAGCCTTTATTCCGTTTCATATCCGGGGTCGCTATATACCCGAAATTTCAACAGAAACGATTGTGCGCAAGGATCTTATAGGGACCAACGTCAGCTAGTTATAGTGCAGTGGCTGTCTTGTTCTGGGTCCTAACTCAATAGCTCGGATAAATAGATCGTACCACCGCAGGCGCTGGCTCGCGGCGGCCGCCCATCTTGGGTACGCGACATTCTGAGTGCAATACAAGGCCTGCTGCCCGCACCACAGCCGACACCGCTAACCCGAAGGTTTCGCCCTTGGGAGCGAGCCAACCAAGGACGAGCTTTGAAGGAAGACGCTCGTGGTGTTTAGCGCAGACATTACTTTACTAGATGTCATACTACTGGCTTGCCCAGTGCCTACTCCATATCCGCGCACCCGGACTGCTCAAAGTGCAGTACGGGTATATATCGATGCATAGTAGATTCTGTCGAATACCTGCCTGCTACGGTGCCGAACGCTGGAATAATGTGCCCTCCAGAGCCCTCTCGGAGTCATATCGCGACTCACATAACAATTTAGGGGATTAGGACCATGGTACTACTCACGGAGGCCCAGATCGAGTCTCCACGGTGGGGTGATTTAAAATGTCCATAAATCTACCTACGTGTGCCCAAACATAAGGGATCGGTAGAATAAGTCTGAACTTCAGGTCATACTGTTCGGCGCGCCTTCCTGGAACACGTGTGGTACTGTTCAGGAGTCCGCTGCCTGAGGTGGCTAAGCAATATTAGGAGATTTACCTCCGGTCGCCAAGTACTTTCGGCATTAGCCGGAAAGGATCCTTCAACAATCAATGTTGCAATCAATTTAAGATGCTTCTTCTTGGTCTGTCGTCCCCCACACTAGAACGCGTGAAACACAACTAGTACTCACGATGAGTCAAAGGCATGTTAATTTAACGGCAGACGATGGGCACGCTAGACAAGTCGTGCCATCTGAAGGTGGGATAGATTCACGCTTTAGGGCTGGGTCGCGACACAGAAGTATTGCGGCTTCCTTTCTCACGCAACTTGTTTGGTCTCACCATATCGTCTACTCGGAACATGTCGGAATTGAGCAGGGTATCCTGTAGCCCGAATGGGATAGGCCTTTCGCGGGTCAGATAGGGCTCTGGAAAACACGGCCCGGGGGGATACGGATGCCAAGTTCCTAAATCCTGGTAAGCGAATAGCCTTAGGACTGGAACCAAGTGATGCTCACTCGAAACGTCCAAGCAATGAGGCCCGCGTTGCATGCTAGACTGCAATCATGAGCCTTCTTAGGTCGCTGGTTTCGTTCTATGCCTACCTGGATTAGGACATCCTCTGATAAGTTATGACTATGGCTTTTACCGACACTATTAAAACTGCCCTCGACGTTCTAATAGATGGATAGTTGTTCTTTTGCCCCCCTTGCTTCCAGAGTTTAGCTGTTATGCCGTACTGACGTCTGTTCGACTTTAACTTATGAACCAGGTTTCCGACCCTTGGGCCCCGGCGTACATGTAGTAATTCTCTGTACTATAGATGGCGCCGAAGCGCTACCAATGTCTACATCTTCCAGGGGACTCGATGCACCATGCATGGTGATAGAGTCCATCCATAGCGCAGATAGATCGGGGACCCTCATTTTAGGAACCGCATGCTTGCGGCCGGGAATCACGCACGGCCGAGTGCACTATCGTTTCAACCCTCGACAGCGCGTCAGCTACGTGAATATATGTGGACTAGGGAATAGACTGGGAGTGGTAGAACATCATGAACCACCGATTGAGATTCTGAAGTTCGGCCGGTTTGACTAGAGTAATGCTGTCGTTTGGTTCATTGTTTTCGCTTATGGGAGCGTATTCTAAGTCCGTGCCCACAGCGAGGATGGCCAAAAGAGCTAATAACGGAGGTCAATCACCAAAATCTTTTTGATAAGTCAAAAACAATCTATGCTCGTGGATGAGAGCTGGGCGGAATTGCTACGGCAACCGGATTCCATCCCCTACAACTCAGACTAGAGAAGTCGCGATTCAAGGACTGGGTTATCGTAGGGGTTTGTAGGAGTACATAGGGATCGTTGTACAATATATCGCCTCCCCGTATTTCTCTTGATGTAGTTTCCACACCCCCATAAAAAGGTGTGCTGTTGGCGGGCGTATACCTACTATACGGAAGTTCAGTGACCTTTAATGCTCCACTGTTCTCGTCATTAACCGGCAGCGTCCCCGCGGGTTGAAATGACCCTTCTGCCCAAGTTCTTTACTAATTATTTCGTCTTGCTGGGGTGGAAAGTCTCCTCGGAAAGGTCGTTTCTGCCGCGATCTGTGTTAGAGAACTAGTCCCCCTTGCAGCATACAAATACGATCAACAAAGCGTCCACCAGCCCGTCGTCCATTCATCATCCGGTGACCTTACTTTGTAGCACGATTCGCTGGTGGTTTCGGGTTTGCCTCAGGGTGTCTCATAGTTGGGATTTATCCTAAAGTGGGACCCGCAAACCAACTACGCCTTTAGCAACTAACTGCGGACCACGCGATTTGTAGGCATAATAGACTCTGAACAGTCCAGACGTAGATAGGCGCAATCCGGGCCGCCTTTCATGGTCTTCTTGTTCGCCCGCTATGGTACGGAATACGTGGTGCAGCTAATGGCTATTAGTTAAGACCGCTTGGTGTCATTTGCTATCAGACCGGCGAACAATGGGAACTTTGGCCTGGTCGCGTCGAGCAGTTCCTGCAACACCGCTCAGCTTCCCACTTTGCAGATTTAGACCGTCTCAACGCTGCGAAAACGCGAACTATCCAGGGAGAACACTATTGGGTCGATGCTTAGGCGGGCCTGGTATCCCCCAGGGTCATGTTACAGTCAAATTGCCTCCATAACGATCGTCCGCAACGTCCCTGATCACGACTAGAACTTATCGAACACATGGTACACTAATAACAAACCCCACAGGTTTAGCGACAAATCTTCGCAGTAGGTCCTAGATCGCAACGAGGGCGTTAATCGTGTTTCGGCCAACATACCTACAATTCTAGGGGTAGAGACATCGCACTGTAATGACTCGATCAGGATTCAGCAGTGGAGTTGGGGAATTTTCGAGAGTATGCCCTAGACAGTAGGGTAACTTCGTAGCCAATCACGCGCCGGCCCACAACGCAATGTTCCACCCAGGATATATTTTTTAGGAGTTTTCCTGAAAGGAGTTGCACGCCCAGCTTTAATGACCCGTGAGGTGATGAATAAGGGGGGAGAGGGTGGGGGTTACGCAATGCAGCTTTTTTATCTATTACCGGATGAGTGACAGTACACTAACTTCTAGTCGGGAGGCGAACGTTGATCCTAACCACTTTACTCCATCTCGAGCACATCTGTGACGCCTTATGCGGCGTGAAATGCTCGCGTCGTTTAGGTGGCCAAGAGAACACGGTTACGTTAACTCCTAGCGCGGTTGGATACGTGGTGTCACAGACAAGAGTTCCGGTATAGTTAAGTTCAAGCTGATGCTTTGACCAAAAACAAACGCCGGATCGAGGAACCTGAACCGTCGCTTTCTAGTTACCCTGTCCCTTACGGTTGTCGCGCTGGTTAACAATTAAAACGGGACATCATTACGTCCGTAGCGATTCTAACTACGTGCGTCCACATCAGGGACTTACTGCCCATCCGATCAACAGGAGGGTTAGTAGGGCAAGGATTCTAGTTAAGTGAACTCCATCTGACGTATACTAGCCACATCGAGATCCGGTTCTTTCCTTATTAGAGACGAGTTTAAGCGCCCGCGGTCTACTGGAGCTATACCAAGATGACATATTAGCATGACTAAACCTGTACAGCTGTGCCAACGCCCAATTTCCCAACACGTGATAATTCTACCCTTTTTGTACGCGATTCGGATGAAAACAAGGTGTATGCGCCTACTTGTTGGTAAGAAAAGTAGAATATACAGGCATACATTGAGCTAGAACGGTTTATAACTCCTATGAGCGCTGCCGGCGAATCTCTCAACATTAGGCACATCATCCTATGAAGGGGTTCACAGTCTACACTGCACCCGAAAAAGGCCAAAGAGAAGATAGCTACCAATCACGTGGACGGCCCCCATATCAGGTCAGTTCTTCTACCCTTGGGCCGGCCGTGTCGTCTATAGTGCCACTAAAGTGGGAATCGCACAGTCCAGTGGTCCCCTGATGCGCCCTAACGATTGGCACCTGCTCTACGACGAAGCGCATAGTTGGCGCGTATCACGGGGCCGGGCAAGCTCAAGGGAGCAAGTACCCAGGAGACCAGCGTGATACCCGGTGGCGCTAGGGATCGTACAACGAATCCATGTCTGGAAAAGAGCCTGATTAATGGAACACAAAAGTGTGACACGTGGGTTTCTCAGGCTGGCCAGCCAGGAGATGGCGTGAATACGTCCATCTTCAGACTACCAGTTCTCCGCCGCATCCGGACTATGTCGGGGTAACATTACCTCTGGTGTGGGTTTCACAGGGAATAAGAAATCTTGCCGGTCTCGGTGTACCCCACTCGAGCTATTCCCAAAGTAGCTTACGTCGGTACTGCCGATGAACTAGCACATCTAGTGTGCCGTCATCCCGAACACGTTCTGACGTGGGGTAATACTGTGGATCGGCCGATTGGAACACTCGCCGCTCACATTCAATGCTCAAAAGGCGGCCACGCGCTAATGGAGGCGCCATCCTTAACGACTCCTCCATTCCTGGGGTTAATTAGGCAAGAATTAAACTACTCCGAGTTATAAGTGGCTAGATGAGCGACGTCTCCGCCTTAACAGCCGGTGCTCTGTGAAGTATTGGGACACCCCCATCTGTTCCATATTATTTTCAGTGTTAAAATCAACATTGCTCACAGCAGCAGTACCAGCGAGCAGTCTGCCAGCACCCTTCTAATCAGTACGTAGACAGGTCCAAATTGTCGAGGGAGAAACCAGCTGCTTGAACGTCTTAATCAGTGAGATGGGAGTCCACGAGGTTCTCCCGGAGTCGGTAACCTGTCTCCTATACCTTCGAGCTGTCTTGCCCAAATCGGTAAACGTCTCGGACTGTCCTATCTTTCGGATTGTCTCGATTTGTTTCTGTAATTTGACTTTATCGACTATGGCAGTTAGCGTAAGAGGGGGACCCCCATGTTCATCATCGGCGACACAGGAACTAATTTCCGCTAGCTGACAACATCCCGATCGGGATCTAATTCGACCCGGTAAAGAGCACCGCTCTAGCTCCTGCGGGATCTACGCGACGCGGGAAGTCGCTAGTATGGTATAAGTGGGCGTCGAGGACACTCTGCCTGCGCCGACCCCTGGGGTTAACACGTTAAGGGGGGTGTGATGGTTCACCAAGAAGGCCGTGATGGGGATGTATCCGGGCTCACGGAGTTAGGGAACCCTCTTGTCACTTCGCACGTAGGAAGTAGCCAACCCCGCCCATAACCTCACGCCACTATAGCCTCCTCCGTCGGTGCATCACCTCACCTCGGGATTCTCGGCTTTGACAATGAGATCGGTAAGCTCTTCCGAGGCATTTGCCTCTTCCACGATGCGTGTTCTAATGGTTGAACTGTTTACTTAGAGATTCGGTGGCTGCCAAGTACAGTGTAATCGCTTCTACGCGTCTGGATAAATTTACGCCCCGCCACTGAATTAACCGTACAAACTCCCAGGAGGTCTACCCCTCCATGTAGTTGATCCCGATCACAATATGTGCTATTGCGCAACCATTTAAAGATCACCTAGAATTATACAAACCAACGCCGACGGTTTAGGTGATGCGACCACGACGGTTACACTATGCCAATCGCTGAAATCTCATGGTCGTTTACGTATCAGCATTCACCGGTAATCAACACAGGCTACTCCGACTGGCAAATAATGCGTAGGGTAGAGCGGCATTGTTTCTAGTAGCCCCTGGTGGACAGCAGAAGCAGCGCGCTGCGGCGTGACCGATGCGACACTATCACCTAGGGGATACTACGTCGAATTCCGGTTCCGGTAGCACTGCCGGAGCAGTTGCCCTGCAAGCGAAACACACCAAAGAATCGGCGTTAATTGCCCTCCTGTTGAATATGACTCGGGGGAGGGGGACAATCCGTTCCGCAAGGGGCACACCCTCGTGATCCCTGAGGCGGTCTTACCACAGGGGATATTGGACTGTAGTCGCGAATCGGTTTCAAGTCCCTATGAAAACGCCGTACTCTCGTTTTACGAACCGCCCTTGTCCATCGCTGACGTCGTCGTGCCCAGTAGCAGCCTTAACATATGTTATAGGATGACCACGTCCAGAGACTGTCGTAGCCGGATGCATGCGCATTATGTATAGTTAACACGGCCCCTACTCCAACGTGCGACAGGTTTGACACAAAGGTCGACGCCAGAAGTAACTCCTCTAAATGCGATTACCCATAGGCCATCCTGACCGGAAATACACACCATTGGATCATTAACTACCGAAAAGGGAGATCTCTGATTACTTAGTTCTGGCCCTCGCATTGTCCATGCTGGTCTGGAAGGAAGGGCTGATAACTAGGCAATCCACTAACAAATGAAACGATAGTGGCATGATTTTATCTCGACGGTAATGCAGTCCTTCTATCATCGGATACTCTGTGTAACTCTCAGCCAATCACCTTGACTGAGCCTGCAGCATTGATCCACGAGACTTTTCCAAACTGACAATCAGCACGTACTTCAATCTCATAGATACTGATTACGCGCGGTATATTAGTAACACGTAGTTGATAGCAACGATTAAGGCGCGGGACATAAAGTATTGATCGAGATAAGAAGGGAGTTATCATCGATATTAGTAAGTACGGAGCCCACGATTAGCACAACGCATCGTTACGACCATCGTGCTTTTCCTCCGGGCAAACCCTTCTTACGTTTAGACGTCGATCTGGTCCGTTCAAACACTCCTGCCTTCAATCCATGGAGCGCCTGGGCCTAAGCTGATCGCTCGTTGCATGTGGTCCGCTTGCCGGCGCCTGCATGAGACTTCAATTTTAACCACGGCCCGCGCGGCGCCGCAGGATTAAAGCATCCCCAGTCGGTGAGACTAATGCGGTGAGGTCTAGAGTAATTTAAGGTTTGACCTTTATCTCGAAGTTGTTTCGAGAAACTTACCACTATGCCGTCACTCTGTTGAGTATTTAAGACTCGCTGTCCGTTGATGCGATGGCACGGTAGCATCCCCAGGACCTTCGCACTCAAAATTCGCGTGTATCATAAACCACTCTATAAGGGGACCGGACAATGGGTGACTGTGTCAGCTTACGGGTGCGAGTTGGTGCTTATCTGATCAAGAGCTAGAACGGTACTTATGGAGAACGCTTAGCTTGCACAGACGAATCTCAGAAACTCGGACCTAGGGGGCTCTGATTATCTTCTCCGCATCTTTTGCAACATAATTATATTCTGGCCACCTACCCGTGTCACATTCTCCACTAATGATTTGCACTCGGTGTCGCAACCATCTGGTTGACACGCCTCGGTAATCCTAATCGCGCAGATAGGTCGAGCGCTCGAATGCGATGTCTGATTTCGACTAATAATGTAGTATAAATCTGGTACATGGGTTTCCAAACAGTGGTTTTACACCTGATATTGTCGCTTTTCGTCATCCGGGGGAACCATGTATGGAATTCATGCATATCGGTATGCTGGTTCGTTCTAATCGGTATTGTGAGAAATCGTTTATGTGCACCTTAGCTTGATTAACAAACAGATCCCAGAGGAAAGATTTTTATTCTTGGCTGAGCAGGAGATGTTTTAAGTATATCAATCACCAGACCTGGGACTGAAGCGCCTGCTACTTCTGGCTGTCGATCACCTTGTGACCTTGAGTGTCGTAAGTCGACTGAGGAGCGATCCGCCCCACCATAGGGTCATTCCCAGTAGCGAGGCGCTGACTCACTATGGAGGGCTGGGTACTGGCCAACCGACACCCAGGGTTCAGGCCTCTCTGTGATTACGAAGCTGGCTTGATTTGCGGTCACTTTCTGCCACAACTCAAAGGTCTCAAACGAGTTGAGTCACTTAGCGTCTTCCGTGCGACCATGGAGAGTCGTTTCGAGCACCTACTAGATGGCCATTGAATCCGCGTCGGAAATTGCCGGCTTGACGACGCGACTGGCCGCGGCAGCAGCTTTAGTTAAAGTCTGAAGCAGCTATCCGCTAGTTCTGGAGTGTAGATTAGCGATTATTGGTATTATCTCCGCCAAGATAATACCTCACTCACACGCCCTTCCCAGCAGGTTGCCAAAACCACCAAACTGTCACGTGTCCCTAAACACGGGGTCTATTTAGGAAAACTAGTGAAAGGACACTGTTTCTTTTACCGGTTAGTAATTTCCGTGTTTAGATTCGGCATATGATTATAGGGACAGCCAAAGCCGGTCCCGCACTTAAACCTCATTGATACTCAACCGTATCACACATAGTGAGTCCATACAGAGACCCGCCCAACCTCCCGCCTAGACTGTTGCTTATGCCATAAGCTATTCCACACTGTAGGCTGACTTCGTACGACCGTCAGCAATGTACCCCCAACTTTCGTGCGGTAAAGTCACTCCGTCGTCGCCAACAGACCTCCAGCCCTTTCCATACTCATCTTAAACGCCCCTCTAACATCTAATGCGTGAAGAGTGTCCTGAATCTCGCTGACGGGACAGCCTTCATCCACAGTCGTTACGCAGTCAGATGTCACGCCCTTGCTGTGGAGGGCTTTCTTCCTCGAATGACAATTGGAAAACATCGCGGCTATTCCTTTTGAGTCCTACTTCCCCCCGCGAGGTCAGGGAAAGGGATATCCTGGGCCGTATGCAGTTCAGGTTGGACATATGGACGAAACGTCGTAGTACTAAAGGTAATTGGGGCCCACAGTTTCAGGACATTCGTCTAGGTCGACATCCGCGTCAGAGTAGGTTCTGCCAGTGTCAAATACGTCGAGCGGTTCAGTCGAACACCTGGTGAAGCGTGCACCATAGTTAAACGTTGATGATCTACAGCTTTCCTCGTACGGTATAGCTATGCAGCGCGACCTACATGCTAACAGAGGGCCGTATAAGATACCCGACATGTGCAGTTAATGAGTTTGACGGCACGGATTAGCCTTCTGCGTGGTAGACCGTAGATGCAGAATGTGGCGGATCCGATGTTTTTTATCCCTCTCGTAAGCACCCATTTGATGACAGGATCAGAAACCATTTCCACGGCAAAAGCGCGGAATGTATTGTTGGAAACTGATCTCTAGCCCCTCAATTTTCTGGCTTGGCATGAAGGGGCATCAGGATTGAGTAAAACATCAGATTATCTTGGACTTAAAGAGAGACCTAGCACAACAGCCTACCGATTCTGTTTTGGAGGCGAACCTACGGGGCTAGAACGGGAGGTCTCAGCCCTCTATCGCATCATTGGCGCGGCGTACCACATTTTCCCGCATTAAATCTGAATTGCTACAAAACCTGAGCCAGTCTTAACGTGCCACCGCCGCATGCTGCGCGACTCCTATATACAGGGCCCGTGAGGGTGCTGCGCTTGGAAGCTTCATTCACCAAGCAACTCACGCCTCCGATGTGCTCCCGCCCTTCGTTAAATCCGATGTTCACATCATCACGTGAATATATTTATGATTTTCCACAGCGTTAAAGCTTAACTATGTTCCTCTGCGAGCACAAATACTGTGAGGCCTCAATCCCGGAGCTCTTAATGAGCGGATTTTAGCCGAAGACCTCTCCGATTGCCCAGCCACCCTCAGAGCTGAGCGAGTTTAGACCTTCTCCAGACCTCCATGATTGCCCGCAGCCGGGAGGGTGCTTACTGCGTGTTACTACATTCAGACATTACGTTGTACAAAGATTTGGCGCCAGAACGGTCCTTTTGACTCACCAGACTTTGATCCGCGCACTATCTCACCTCCCATGTATCAAGTAAGTAACAGAAGCTATTAATAATGCCTAGTATGTGTTTATTTGATCTCATTATTCAGAACTGCCGAGAGAACCGAATGATGTATCTAGGTTTAGTACCGGAGCTAGTCGTATTAGGTGTGTTATATCGACGTCGTCATTCGTACACTTTACAGTAAACGTCGGCTTAGGTGTTAGATTGGCACGGCGTCGATACGGTGCCAGAGCAAAAGAATGGGCTCACGGCTTTTAAGAACCCGAAGCGAACTGAACTTGGGACAGAAGCGGCCCGAGTGCGAAGACTCTAGATCGTTCGGAACTAGTTACTGCTACTACCATACAGGCTTATTCATAAGTAGGTGCGGGCAGAACGAACAATTCTGTATTACTGGAATAGGTCGGCTTTCGTCCGGCCAGACTACCTGATAAGTCTGCCTACTAGTGGGGGTTAAGCCAATTTAGAGGCGGCTGACATAGATAACATTTCAGTGTCTCTGCGATACTATCTACCTTAGAACAAGCGCAGACGCAGAACAAGAGAACATCCAAGGCTGCTAACCAACTATCTCACGATCTGCTCATTCTAAGAGCACCCCGAAAAGGTCAAGAGACAAAGCCACTTACACGCCCGTTAATAGCTACACTGCCTGCCCACCTTCACGTGTTGTCCTACGAAGACGTCGACGGTGCTACAGTTTTTGAGCCCAAATTCTGCTCTACAGACTCCATGTGTTTTTTTAGCAAGACGCACATGTAAGTGACGTAAAGCTACGGAAAGATGATACAATAGGTTCGCTTGTCTGGTAAAAGCGTTAGACTAACCCACATTTAAGAATTTGGCATCGTTGAAGGAGTTAAGGGTAAGTGCGTATAGCCCGTGGTAATGTATCATACTACCATAGCTCTCTACAATCTCATTTGCTGGTGTCGTGTACGGATGGTTAAACCCCCTGAATTGGGATGTCACTAGTTCCAATTCCACCGCACGCGGTCTTCCACCCGGTCTTTGACCTTCTCCAACTACAACGAGATAATTGCGAGTGTAAATGACACCTATTGAGAGATGACCACGAGGCATAAAAGGACTGTAAGCCCGATCGTCGACGCCCAATGCCGTTGGGAACAACCCTGGACAATCGGCTATGCGGCTTCAGCAGGGTCTATTAGGAGCGGGGCCAAAATATTGCATTTACGTCGAAGAAATAGCTTAATTGGAACGCCTACGTAAACACCCGAATCACAGAACGTGAATCGGGGACCGGAGCCAGTTAGGCCCGCCCTAGGTGACGGGGGTTTGCAGAATACGTAGCGCCGGGTTTAGTGTATAGGTAGCTCACAGGAAAGTTCAGCCTCAATTCATGAAAGACACTAAGGTAGTCTGCCAGCGGCGATAGAGAGAGGATGGAACCCGGCGCCAACCTTCGTTTCTCTATTGTAGGCCTCTGTCTTGAAGGTATAGGTCCTTTGGGATAGTGACTAGACCACCGCCAGCCGTGCCCTCCGTGTGAAAATAATGGAATTTCTCGACTATCACTCTCGAACGGACTAATCTGGACGGGATCATAACGATGAAAACCTAGAGTCAAAGCGCCGTTCTGGAAGTTCTCCATCTAGCAATAACACATGCGTATCGTGGGCACTCTCTGAATCACATTTGTAGGCATATGAATTCTTTCTGCGGTGCTGCCACCTGGCAAGTCCATGCGCTATGATTGCCGCTTAGCTCATTTATAGTCCATGTGAGTGCTTACGAGGTGGTCGGTGCTCCCTTCGTACGTCGGTGGGGTCGGCCGAGACTGATTACGAGCCCGATTGATATCGAGGAAGACAATCGAAAGGGTCCGAAGCGATAAGGGAGGTTGACCAAAGCCCAGTACTAAGTGATTCCGACGAGGATGTGTTCGCGATTTGAGGTGGGCCTAGGAACTGCTGAATAGGTTAGGCTAGAACAAAACTAATTACCAGCTGCGTATTGGTTATTAATGCCATCGTTATCGAGCAGAGCTCCCCTACGTGTGCGGGTATGACGTCTTCCTTTAAGGCAGTAACTCGATGTAGTCTCGTGCAATTGACGTTCGAATCACGGGTTGTGAATCCCAACCCTCACTCTGAAAGCTAAGCGGAGGACATCGAGACTCCCCGCTGTTCGCATTGATGTCCCCATTCAATGCTAGCACATTGAAGGTTACCCTACCCATGCCAAAGAGTATGATCAAGTTACCCTACGCGTCCGTTCAGAAAGGCGACTGCAAGTAATTCGTGGGATCCACTTTACAGACTAGGCTATATATAGAACCTTTCCGGACAGATCTCCTTGCTTCATCCTCTTGTGCTAAAAATTTTGGGCATGCAGTCCAAGCACCCCAGGGCGAATGGTCGTCGGGCAAGCTGCTTAGCAGGAGGGAAATGTACAAGCAGGTCCCACATTGTTCAATATCACTCGGGGTGCATCGTTTAGCATGTTCAAGTGAACTTTGAATTTGGTGAAGGGGGGTATGGCAAATTATTACGTCAGTTCACAAATGTCTGATAAGTTTAAAAGTTACCATCTTCTTCGATCTCAATCGGTACCTACCTAATTCTATATCCTCTCAGTAACAACTATTTCTGTCAAATATGCTCTCCACCGGAAGCGATACCGGAGACACTGAGTGAGCTGCGGCCGCCACCGCGATCGTTTCACAGCCAACTTTTATACCACAATCGTTACCCAAGGATCAGTTGCAACTTATAGTACTCTGGAGATGGAGCTCAGCGCCATAATTTATCAGTGTTCACCGTGTAGTATCATCGGCGCGTTTGATTTCGCCCCTGTATGGCAGAGTCTCATGGGTCCCCCCTCATTAGTATCTTACTTGGCCTTTATCACAAGGTCGATCTTACTGAATTACGGAGTCACGCACTAGGCGGACGCCTAACACGCTGTAGAGAAACATCGTGCAGGGTCTCACCCAGACCCAGAGGTTAATCATGAGAGTAAGCAAATCGCTGGACTGGGGATGCGATGCTACAAATTGAGGTCTCTGCTAACTTCTCAACTACGCCAGTGGACCTGATTCTGAGTGGCCGAGGACCAGTTGGAGGTATCAGTCCCAGACGGGTTAGGTTCCTACCGTCACTGGCGTGACCTTACTACGCCGCGTACAGGAGATTCGTAATCATGGGTGTAATTGCTGATAGAAACGGTTCCGGAGGTTTCATTCATGGCCTACGTCATAATCTAGACGTACGTACCTAGACGGGTCAATGGCGATCATGCTGAAAGCTAAGTTACCGGCTTATAGTACCCTGTATTTAATCAGGAGTGCTACGCGCGGGGTTCTTCGCACTGAAACTTAGGGCCCATGCGCCTTTGGCCCATGTGGTCTCCCAAGTCTTCGTTGGGGGTCAGTTGCAATGGGATCCCGTTAACAGAAGAAGCTGAAGCTCATTTTCACCACTTGCACAAACTTATGGAAACCGTCTTCGGTTCGGTGAAAGAGGTGTGGTCAAGCTGCGTTTGTTGAAACCTGACAGGAAGCCCAAGACTACCAGCACTAAGTGTATACCACCCAATCCAATTGTAGTCAGTTTAGTACGTATATCTATGCAAGTATGTCTCGAGATTGTGACAAACTCCACCAGTCGACGCGTATCACATTCATTTCATCTAAGATGCTTGAGCTGGACGCCTTTGGTCGCGACCTTTAAAAGGCTATGTACCTACCCTCCCCTCCCCCCCTTGCTGATAGGGCGCCGTATTATTGGGGGTACAGTTGGCTTCTAAGTGCAGATCACGGGCCCTCAGAGCTGAACCATGCACCAATCACTCTTCTGTTCTCTATGGGTTGACAAGTCTTGCCGGATGGCGTCACCTGACCATCTGGGCATCCTAACGGTGGCGGACCGGAGGACATGGTCGCCGAATAGTACACAGCCGGAGCCCAAATTTTACGAAGAACGAGGTTCGGCTGGATAGTCTCAGTCTAAGCCAACGATCGTAAATCAGGGCGACGAGGTTGGGTGATGAAATAACGCCGGGAGAAGAGTGATTAGGGTAACACCTTATGATGGAGCCTTTTATAATGAACCGGACATGACTCGCCTTCCCTATCAAGTGCTTACTGACACCCCGTAGGGGCACCACCGCGCTAATGCCCGGGGCCACTAACTATATTCATTGTTATCGGAGCGCCAATGCATCGCACTCAGAGTGTCATTGGCGGGTTGGTATCGAGCAAGGGTCCAGCTGGTGCAGACAATTTGTCACTTTACAACTGCTGGCGTGCATGGTCGCCCTATTTTTTTTACCCGGTCGGCGCGCCCTCAGTTTTCGCTTTTAGACGTCGTAGTCTTGTATCTGGTGAATGCCCCGCCGGCACTATTACCGAATAAACTTGCGAAGTTGGGGCGGAACGCTGGAACCTGGGTGCGCCTTTAAAGTTAACTGGGTGCGCATTAGTCGTAAGGGGCGATTCCTGCATTACACTGTGTCGCACGCGTTGTAAGGGAGCAGGTCCCAGAGTCGACCTACCATTCCATTAGGGTCACGTTCCCAACTAGCCAAGCGCACAGGGAAGGGCGAGTCTGCTTCATGCTTACTAGGCTATGTATCTGTCCGAAGGGCTCCATGCCTGCTGACCACGTCGACTGTGACGTCTCTGATGCACTGAACCGTCCTCTCCTACGGCGAAAGACCGTATTTGGGCACTCCCGGTTTGGCCGTTTTGGGTAGGAGCAAATGGTAAGATCCACCGCCATCCGTCACTTAATGTGGGTCTGTCGTATAGATATTAGCGAGAATTCGCCATGCTTATCACTGTACTAACTGTGTTGCAGGGTATCCTTCTTCTTCCGGCGGAAAAAGTTGCACATTGTTACATCGCGGCGTTAAGTAAAGGTCCCTTATCCGATCCAATCAGAATGGTAGGTCCTAAGCTCTGTCTAGCGAGAAAGACCTTACCCCCGCACCTTTTAATACAGCGACCCAAGTTTTACATGTATAGTCTGTATGGGTGGGAACAAAGTAAGGTATAACTTCAATAGGCAGGACCCCGACCAAGTTGAGGGAGGGGTGTGCTACGTTAATACGACGGCCCACACGAGCTGAGGTTAGAGCTCGTTGTGGACGAAGTTAATATTATGATAAGATGCTCTCCATAAGGATCACCGTTAACGGTATTATCGATTGTGTCGATATGCAAGGTTGAAGCGTTGAGCCATTGGGCGGCCCATGGCAGTAACCATATATTCTATAGTAACTACTGAGCAGTCCCGTGAAATTCGGCCAATCCTGAAAGATAGAGACACGCAACGTATACCCCTGTGTACGCTAGCGCTCCCAGTAGTTAGAGGTTCCGGACTGACAGACTGTACACGCTAACGCATGTACTCACTCATAGTCAACTCCATACAGGTGTAGGGGAAGACCATTTTTTCAGAGTTAGCGTTTTTGATAAACTTTTAAGATCAAAACTATGTCTACGCCAGTGGCCTGGTCCCTAGCTCGGCAGACAGGGTTCTACGCCAGACCAAGCTGCCCATCAGCGCGCGGAAGCCACGGGTAAAAGGTTATTACACTTCGGGAGACCCGCCGTGTGAACGTGCACCCAGTGTTACCCATCCTCTCCCGGATACCAGTGAGGGCCATCACATGTTGCACGTTAAACAGTGCACGCCTACTAAACTCAATCATAACCGATCTATTATCCGAATTAACGTGGGAGTGAGCTTACTAGTTTAAGCCGGCAGCACTCCATCTAATTTCCGTCCAACACCGGGTAATCAATTTGAGAAGTAAATCCCGGGGGGGTGCATTGTAGATTTCTGTGACGCATGATTAGAACAAGTATAAGTGATGAAGGTTGCCCGGGGCATATTAACCCTATATTCCTATAGCGTCCTTAAGATTGCAGATGAATACTTAGCAGTCGCTGGGATAACGCGCAGGCGATCACAGGAATCAGTATGTCCTTCAGATTTTACGTTGCCCGCCGCTAGGCACAGCCTCCGATCCGCGGGCTTGCACTACCCTTTCGCGCGTCCGAGATATGTAGGGAGCCCCGCCCAGGAGCAAGGAGCGAGCGAGTCTTCCATCAACGTAGGGATGATCCACCGTCGGTTTGTACCAGTCAATCAAGGGACGAATCTGCTATTGGTCGTCGAACGTGCTTACGTCACAGGGAGCGCTCGACCCTTAATTGTTCATTGCTTTGATAGATATATCTTCTACATTCGGTCTCTGTGCAAAGTTATACTGAGAAACAACAGACCATTCAACGGGATCGTAAACGAACCACACTCTGACAAATGTTACGAAGTGGTGGCGGAGCAGTCTACAAGTGGCCAACGATACTATTTCTTGGCCCTCCATGTGTACGTATTCTATTCGTTGCCAGGGACCAATCCCCGGTCAATAGCCATCCTGAGGCTCGTCTAAAATCGGAAGAGTCGCAATAAGGCCAATTAACGCGGCGTCGGGTGTGGCAGTATCTCATATGGCATGCACGGGCCGTTGCGTAGTTTGATTCCATGAGGTGTAGTGATAATATTGCCGGAGGTCTTGACCCGGGAACTCGAGCAGTTGGACAACACGGGTAGTCATACGTGTCATATACAGTGGTGTGCCGCGGGATGGTCAGTCGTGCTATGGATTAGTGCTCAAGAAAAGTCCTTACACAGGAGGATCAAGGTTTTACACAACACATTTTGTCCGGTGGAAGGTAAAGACCGTGTGCAAGAGTTAACTGTAGCATGATCACGGTGGTCTGCCAACAAGGGGTCACCGACCCGTTGTCATTCCGTGGCGATCGCCGGGTGAGAATAGTCAGGATCCTAGGGTCTCGGCTCTATATACCCGAGAAGTCTGCCGTTTTAGAGAATATTATGGATCTTATCCGTAGTCGTCGGGGATGAACTGCATTGAGGTAAGAGAGGTGTCACGACGTTTAAATGTAGGCCCATGTGATCTGTCCTTCGGTGGGTGCCCAAACCCGAATAGTTGGTTCAGAACAGCGATGGGCACACCGCGAGCGGGTATCCACAGACTCACAACCTTGTTCAATCCGGTGTCTGTGCGCTGTCCAGACGACTGGATCTAGTGACGAGGTTCAATCGAATCCGCTCCGAGAATTTAGGATAACTGAGAGGAACCCCAGGCAAGCCCGTTGCCCTTCCTGACCGGTGGTCATTTGGACATCGCTAGAGTCGGCATAAGGTACAACATGATATCAAATGGAACGGGTTGAATGCGTACGCTCACAATATCACAGACAGCTAGCGGGTACCAAATGTGGTGCAAGAGGCGCGAAAACGACACGAAGAGTCCTGAGTTATGTTTGCCCGTAGCCGTAAACATTTTGTGAGGAAATGTTATGAGTTCTGTTCAAGTCAGGTTTCGCCTAGTACCTACAGTAACCAAACGATCTATTCTGACACGAACAGGCGAGAGTATGAGCGTTTCTCGGCACACGCGTAATACGCCAAGCCATCACCGCATCCCCATGGGCCGTGGTAGCTACACTTCCCTTGTCTGGCTGTGTGTCCATCTAAAGCTAATGTATGGGCGTCATCCAAGAAGTCTGAAGATCAGTCTAGAGACCCCTGGTCTGCAAATTCGCGATTCCCCGTGATCTTGTATCAAGATAATGCCACGTGATTGGCGCCCCACCACCCGTTCCGAGAGTGTCTACCGAATGAGGATTAATCCAGTATGCCTTCAGATGCCTCACGTCTCCTACGAGTGGGAGGTCTCCAAGGGTTCCCGGGAAGGGGGACTAGCGCAATTTAAGTCGCTCTACCTAATGGTATATTTCGGGATCCAGTTGGAGTTAGAATATTACTAGGAGGTGCGGATGGCTAGCGACTTTGGGCAGTTTATATTTTACCTTGGTTCGAGGCCTACAATTGCATAAGACAACCACCAGATTCTTATCACAGATTCGCTTCCTAGTTGCTTGCATGGTCAGCGACCGGAGCCCATCCGTATCATAGCACGACAATTCGACCTGTGTTTTACGGTTCTTGCATAAATGAGGTACGGCACTAGTGTCTTTTTAACGGGAATCCAAGCATCGTCGCGCGGGATGCGACCTACCGTGGTACCTCTTTCACCTCTCAGGGGCTGATTCAACCACGCCGGATGACTTAATCGTCCATGTCACAAACTTTAAAGCAGGGGGGCTTCCGTGCCCCGTAACCTCTTAAAAACAGTGGAGCCAATTTCAGGTCTAGCGTACATCTTGGGTCTGACGGAACCCTTGCGGGTGACTCATTGGTCTACGCACAGGTTTTTGCCCCGCTGAGGACAGTGCAAAACATCCTCCTAAGGTTTAATGAATCAAGCCAGCTGCGTAAAAAGAAACCCTCCAGTGCAATGGCATTCCGTTCACCCACTAAACTCTTAAGGTTTGGAAGTGACCAGTACTTGGCCAGTAAACACTCCGGGTAGTCCGAATCTTAACTGTTCCAAAGTCCATGCATTTGGACTCCGACGTAGGAATATTCCTTCTGAAAGCATTCTGAATGATAACCTTTCTTAAGATGCTTCGCTCTATTCAAAAGGCTCGTCAAGGCGCGGGTGTTTTCAGAGACGCTGGTGCCGTTAGTGCTTTCGTCTGCTGAGCAACCGCCATACCCCTCATGGATAAAGTTGCAGCGTCCATCAGGTTTCTACTTCGGAACCATGGATGACAAACCGATAAAGCGAACGCCGTTGCCGCCCTGTACAGGAAGGTCGTTGAGGAAGGACTCTGCAATCCATCCCTGCGAACTTTAAGATACGTAGGGGCAACTCAGATCCGTACCTCTCCTTATCGCATCTGCCGCACGCCATGGCCAACCATTATCAGTGCGCTTTTAATTGAAGGCGTAAGACCCCCTGGGAAGCTTTCCTTGATTACCTGAAGTTGTTCTCGTGTAATAACGGGTGAGGGTCAAACCGCTCTGACCCGGGGTCCACGCTCTCGCCCAGCGTCCTCTGTAGCGGTTGTGCAGGTGCGTAGCGGGCCTTGCCGTTTAGGGGCATAAGGGATCCGCAATGCAGCAATCCTCCCTTATAGACAAACAGGGTCTACGCACCAAGTAACGGCCTTTGAAAAATCCAGGGATCCACGTTTTTGTTCTGTTCACACATGCAGGGAGGTATACGTGAGCGGTAGTCTATCATTCCAGGAAGTATTGGGTTCGGCAGCTCCCCAAGTAGTAAACTCTAGTCGGGATCATCGTAACCCCGAAAGTTGCTGGTTCTAGATGCACACTCAAAGTGAAGAGGGAAGCCGTGTTCATCAGCCATACTCTCGTATAAAAAATAAGCGGCGTCGTTCGGTCTTACCAGGTCAAGGCCTAGCTAGCGTGCCCGGCATAAAGTATTTTGATAGTCGAGTCTACATATAGGCAAGTCTCTTCGCACGTATAGGTCAGGTCTACGCTGGCGGTTAGTGTGGGTCTCTCGCTGCCGATGTTTTGCGTTAAACCATTGAGTTTCTCAATTCAACATTCAATGTCGAAAGCAGATAAACTTCGCATAACACAAGGAGAGCACACGGGTGGGTCGTGTCGAGTGGAACTCGAATGCCACTCGCTGGCATGCAAGCCAATCAGAATCCCGAGACATCATAATCGTGCTCGATTGTGAGCGACGCCGAAGCATACGCAGGTGGGAGCGATTTGAGTCTCTTGACTTATTGTCTATGGCCTTCACCCCATGTCTTCCTTGGTAGATCCACCAGATTTTTGAGCTGGTCCGGTTTAACTTCGGAGGGTGATATCAATTGAACTTCTACCTAACGATGCGTGAGTAGATTCATATTGTCGTAAACGAAGAAAAGCAGACCGAATTCATTGCCGCACATGAAGGGTGGACCGAAGCTAAATAGACACGATGGGCCCCCAACCGGCATTCTACCGATCCAAGTAACCGGTGATCCTGTGACTGGGAGCGTATGAAACGCAGGCAATGTTGCGGCGAGACTGAAAATAGACAAAATTTGACCGCGATCGCGGAAGTCGCGGGGCGGGCTATCGGACCTAGAAAATGAATGGAGAGGTCGTTCTATACTTCGCTTCGCCGACTAGAGCCAGCCCCATTCGTGTCCAGGTCGTAAAATAGTTTTGACCTGGTTTGATATTGAACGCGGGAACTCCCGGATATCCCCGAGTGCGAAGACCGGTAAGTGGGCCGCTTGTAATGGTTTCATCAGTACTCGGGTTAGTACATAATCTTATACTATCAGCGTACAGATTAAATTGAGATTCGTCACCAGACACTAGGCGGCGGACCTGCAGTACATATTTTTAGCCCCATCATGAGATATGTTCCAAGCAATTCAGGGGTAGGCGCGATGCATATAATATGAAGCTGAACACGAGTGGCTGTCGCATACGATGAGGTCCGGCCGTGTGGAAAACGGTCTCTAGGACGTAGCCTATGTTCATAGGCACCTTGTGGCTATGTTTCCCTCACTACGTTATTCGCATAATATCTTTGAGACGTCCCGAGGGAATTGTAGTTGACCACCGGCGCCCGGTGGACAATCATGTGCACATTACCTTGTGTTCCTCCTAGACGCCTACTTACGTTGATCTTCTAATTGGCTGGTTATTGTGATTTTGCCTTAAAGTGATGTGTGTAGTATTATGCGACCGGTAGACACCTAGGACTAGGTATGATCAGGCTTCTAGTATTGAGCTGCCCTGTTTTTTTTTTCTACCCTCTATGCTTGGGACGAAGCCACAGGCTCGGAAACGTATGAGCCCTCTATCTCCGCCTTCGTGATCCGATTGGCAGCTCATTGTTGGATGTGAGATCATCCAATATGCATCCGCTAGCATGCAGTGATGCAGGACGGGTAACCAACCAGCCGACTAGCCTTGGGGTGACGCTACAAGGGGACATCACAACCTCCCTATACGCGTTGGAATGACGAAGTGGACGACTCGTGGTTAAATCCGTTACGAAATCCAGACAATCGAGAAACGTATACAGCAACCACATGTCGGCTGTTCAATGAGAGTACTTGAGCCTTTAAGTAAACAGGCGCGTGCCAGCATAAGGGTGTGTAACCTTCCCTCGCAGATCCCCAGCTTTTTGTGAGTTCCTCAGTTCTTTTAGGGGCTGTTGTTCTGTGCGAACCTTAGCCGCTCCGTCGTTGCGGAAAGCCTAGAGAGTGTGCACTGTAAAAGTCGACAAACTGAAACTGACGTGTCGATCCTACCAGACCGGCTCACGAATGATGTCCCCTGCGCTGTTACCTCGATTCGCTATTGACCTTAGTTCGTGCGTGACTTGGGCTCGAAGCCTAAATTAGTGTCTATTCCCTCATGCTGGATACCTGGCAATCGATGGTCAGTCGGTATACCTGGCGTGTAAACCTTCTCGAGCCGTGTCAAAGGTGACGACGGGGTCACGCAAGAGCGCCATTTGGGAGCACGACAGTCTACAGGGGACAATTCGAAAGCTCTCAATGCCTCCGCGTTGCAGACTTTGCATTACGCTACATTCTGGTATTTACAGACAAAATAACTCGGGGAGACCGAAATTAGCTTGCAGATACACGTGTTATTACGTTGTCGCAATTCTAGAGCATCAGGTCTGTGAGGCCAATAGCTCTGAGCGTGAGATCACGTTTAGGCACATCAGACGGGATACGGACCAGGTACACGTACGATACATTTTTTACGTAGTTTTTATGTGTCTATAGTCGGCGCCGCCATGCCACATCTGCGTTTCATAGGCAACGCACGCACGACTTATCATAATCACTGGTCTGAATTTTCGAAACTCCTGGAAACTTCGTAAATTGGGTCTTAGCAACGCAGTCCGAGGTAACTATTGCCTCAACACGCATTAGCGGGCGACGAGGCCACTTTACCTGTTAGGACGTCCACAGAACCGAAAAAGAATGAATGAATTAAATCCATCAGCCTGTAGGAACGGAGCTGACGGGCCTGCATGTATCGCGGAATCGGTCCTTATTCGGTTATACGTACTAGCCAGGGGCGGTCTCTCGTCCCGATAACTAAACCCGAGTATTTATGTACCGGTACCCAAGTACCAAGTACCCCCAATCAGCCCTAATTTAAAAGCCGCGATGGTCGATGCATATGGAGCGTGGCGTGAGTAAATACGACCGGTCACGGCGCATATACTGAACTATGACACTGCGAACGCATAAGCTGAGAATGGGAATGAATACGGACGTAACGTTCTTTGAATCAAAGGGGAGAGACATGGCAAGCGTAGGTAAAGACTTCGATGTTGTAGTCGCGTGCGCCCTGCATATTAGTAGGTAGCGTGCCCGAACCTCATAATGCAATACTGGGATAAGTTGAACAATTTGTTTACGGCCCTAGGTGTCTATTAATAATTTGTCGGTACTATCTAACCTCATTTCCACCAGATCTCAGAGAGGAGAGGACAGAGTACGCTCCACAGCGCAAAACATACGAATGAGACTAAATTACACCGTTAACCAACCTAGGGAGGGTTAATTGGCCAATCCGTGTCGCTTGTCGCGGCATAAACAAGTTGGGTGTTCAAACGCGCACTTTTGATGGGTCCCTCGTTTAGGAGATGAAACTTAGCGGTAAGGCGAAAAAGTACAGGGGTTACAATGTGACGTTACCTTCCATTCTAATCGCACCCGAGAAGCCCCGTACGGTGATTTCAGTATAAACCTAGGTCGGGAGCGACATGAGATCGAGCCTGCCAGTCACGGTGCGCAATTAACCAGCCACTCGCGCTGGCTTATTGAAATTCTGTTGAGTCTGTAGGTGGTCGAAGATTAACGGTTTAATGTTCTGCGACCTAATCTTCAACTGTTAGAGTATTAGAACAGGCTATCTGGACCCTGGTGAATCACAATCGTACCGAGGGCGGCGTGTCGTTCCCTATGTGGGGCTTCCCTTCCCTATCAACTGGTGTGAAGCCGGTATAACGTACATGTAGTTACCTCCGGCAGTTGCGATGAATGCCAAATGCTTACAAAGACTGGTCATCCGGATTTATGAAATTCTATCTATAGCGCTGCCTATCCTTCACGGCACAGGATCTCCCCCAGGTATGGCACTAAGAAGTAAATAACCCAGGGATCTGTTGACCTATATTGCCTACAAATCGCAAATCAATATAATCTATCCGTATTCGATCTTTCAGAAATCCTCGCAAACCGACAAAGGCAGATTGCAGAATTAACTTGTGTGATGCACCCTACTTAAGAACCCGATAGCTCACTTGGAACTAACATCATGCCGAGCTGGGTGCTTGAGACTTATTGCATACTGGTGGTGAGTGCGTTGATCTCCGCGTGTTTCCAGTAGAACATCTCTCGTCCTCATTATAGAGACTAGGGTAATTCGTACGTTGTCCTAGGAACTCCGTTGTCCCCAAGGATCGTATTTGCCAGTCCTTTTGCCTCGCATCTAAGACGGGTTCCAAAGTATACCTCACTGTGGATCATAGCAAATTACGGGTAGGTTGAGAACAAACAAATCCGATAGTTAGAGAATCTCTGCGAAATTCACATTCGTCGTTCTACTGATCGTTGAAGCTGTAGCGCATCTTGCCTCATCTCAATATCTTTTACAGATACCATCGCAAGGGCCGGCCGTATTCTAAGACCGGCATCAAATTACTGGTTGCCTGTTTGTAGTACAATCAATGTCTCCGGTGTAGATCAACCTAGAGCCTAGGCCGGAACCTGCCCAAATCGTAAAGGTTCAGGCCGGCTCTGAACCTTCTCTCAGTATTTATGTGTTAGTTCCCGCGTGCCGCGGCTCCGCACGAGAGTGGTCACTAGGAGCTGGCACAAATATGCACGCTATGCGACCGGAACGCATCACACAGGCGCTGGCTTAAACTAGGTCGACGGAGTATCGGGCCTACCCGTGAGGGTGTTTCTTGATATTAATTCTACCTTGGGGCGTGACAAGTCCATCGGTCTCGCGTGCCTCCTTGCCACATGATTCTTAAGACCGCTGGATTAAACTGGTTTGCTGACCTAACGAAAACAGTAGTGCCTTCAGATCGCCTGCAGTGTCATTGGATCCAGCATCGCGGTTTCAAGTTGTACCCCCTCTCATTCCGAATAGTGTCCTATAGGTTTGGAACAATAAGGGGGGTCAACTCGTGCCGGAAACTTATGGTTCGAGACCAGAGCAGGTAGTGGGCTGGGTTACGCATAGTGGGGCCACAGAAAAGTCGACCAGCGCCTTGCAGAGGGGAAATGTGGGGTAGCCGAGTACTGATGGCACGCCGAGAGTCCCTAATGACTACACTTGAACGCATCAGTGCGAGGGACAGAGATGGGTCTCAAGCCTAGCATATAGGAAGACCCCACAGACGAAACTATCCTAGTTGTAATAATTTACTACTGTGGGCACCATGAAGCCGTATAACATTTGCTTGGTCCCTTGTCAAATTTGCCCGGCATTTTGCACCCATGTGGCTGCGGGTCTAGGGAACTAAGACTAAGCAATGTACCTCAAAGCCCTCAACCGTCTACAGTACAACGTGTATAGCACGTTCGAAGCGATCTAGCCGAAACCACGATGTGCGCAGGATAAATTCGGTGGCAAGTCGGCTATGGAAGTGTAAATCCACGTTCGACGTAGTGCGGCTTATACCGATAACTTACATTTACGGGACTTGAGCGCATCAATGTTATACAAAACTCAAAGGGTGTGTACCGATAAGTCATTGGGTATCCCCCCCCCTCTGGGTCGCTTAAAGCCTGGGTGAGGGGGTTTCTTATTAAGGTGGGGCTACCATAGTAGAGAGCAATTGCCGTGGCTAGATGTGACAACAACAAGGTTTGCCCAGTCTCCTCTATGCGACAATAGCCTGCCAATAAAACTGCATCCTACGGCACAGCATGTAGCCTTGCACCAGGTACTCCTTCGAACATCAACCACGGCACTCTTGCATGGATGAGTTTTGGGGCTTTTTTGAAGTGGAGGCTACCCCGAAAAGGTTCACTTCTAGCCCTCCCGGCCACCCGGTTTCTCCCTCTGCCTCTTGTTTGATACTTTTTTGGACGCACCAAGGGCCGGCCCCTATGCTCTGGTACATTGGTCTTCCATATTGACCTACTTTCTTACTCGGACATCGATCGCTTCCAACAAATATAAGTACCATGTAGTCCTCTCCGGCACGCGAAGTGTCGGGATACCGATTCAAAGGTAGGGTCGGACATCCCGCGAAACATGGCTGGTAACTCAGGCCGTGTACTCTATGCGTTCTCTGTGTCTTACAATTGGGGCATGCCTGTGATACGTTGCGATCGCGTTGGCCGGGCCGGGACCAATCAGCCGTTTAACTCAGATGCGTGAAGTTTCGCACCGCATCCTTCACTGCAGATGTTTTAGTGGCCTTTCTCGATCGCTGCATGCTGTTTCCTATCGTGGTGCACTAGCGTTAACAGGAGTCCAACGACCGCGCTACATAAAACGGGTTATTTTGGATTCGAGCGACTTCTTCGCACCACTTATCTCAATTCAGACGATCAAGTATGGGGTTTCCCGAAGACCCCTGCCTATGAGTATCATTACTGCGCATCGTCGTGGGCCGCGCTCGTCGGCTGCTAGTAGTTTGACCAGAGCAATCTGGCCATAGTCTTCGTAACTCTGAAGATAACAATGGGGTAGGCCCGACCATGATAGACATCACTTTTGTGATTTCGCGAAACCTACGGGTTAGCATCCAATGGCCCGCACGCCATAGTCTAGCTTTTGGACTTCCGGGGTCCCCCGTTGTCTCGGCATGATATGGCCCGATATGTTCGGCCGCGCATGACTCTTAGAGTATGCTAGCGGTGTCTGATGGATTAAGAGACGCTTTGGTAATGAGTGGCAACTACCGACGTTGCGCTTGGTTCGATCGAACTTACGTACAGGCCTTGATCATAGTATCTCGCCAACTGGTTACCTGGGCGTGCTGATCCTTAGTGATATTAGTTCCTCCCAAGCGTACCGGAGGGCCAGCCTTCCGCTATAACATTGAACTCGAATTCACCGCGAAAGACATTAGGGGGTCTTTAGTCACTATGCAGTTGGTAATTGCCAGGGTGCATAGAGCGCTTAGTTTCTGCCTTATGATCGGAGTGACGTACGTTGGTAGTGTAAGTCTCCTGCGGCCATCAACGGGTGCTGACTGCGTACCCGAAACGAACCGATGAGCGGTATGTGCCGAAGGAACGAAGGTTCAGTTGAGACGGACGGCGTTTGTACACGTCGTGTGTTCCGCGCTCCCCTCGTCTCCGTCCCCCGGCATGTAACGTGCGCGGTCTGTGTGGTGACCCAGCGCTAGTAAAATGCACCGCGTTCCCTCAGCACCTAGATCTCCGCCATATGTTCTTACCATGTGGGTGAGTCCCAGAGTTTTAGCCGCAGCGAAAGAAGGCTCGTTTACATCAGGATGTCACGGCTCGTCCGCCGACAAGCTCTACTTCAACTAGACTCATGAGGGCTGGCTATGAATTGCAAACCGGGTTTTCCATCGGATGGCGTTCCTCAGTGCTAAAACGCGGAAGATCGTACGCGCCGTCGGGCCTAGCGCACCGTCTACGTATTGCGGTACCCGACCCGGACAATCCACTCCATTGAGGGACGCGGGAAACCGTTTGGTCGCTAAATTGACTGCTATTTCGGAGATGTTCCTCGTCAATAGCTGCGCACAGTGAACGGCATCAGACTCTGTGGCCTGGATAGCAAATGCAGGTCGCACCGTCGCTTGAAAGATGCCGACTCCCTTCCGCTCGGCACCAAAATCTCGTGTTACTCCTAAAGATTATAACTGGCGCCTCCTTAAATGGCAACTAGGTACTCCCCCCGGGTCATATAGGGTTAGTGCCCCCAATTGCGTGGGCTAGTGCCTGAAATCCGAATTCGATGGTACATCCGGAACCCACGGTGATACGGATTTCTTGAGCAGCGTAAGCTCGCCGTGAACACGACAACACACTATCGACCTGCTTTCCTGCTTATTAAGCCGAGTCCCCGCACGGAAAGAACTCTTGGGCTATAACCTGGCCAACTTCCCACATTTCTAAGGGCTTAACCCGTTTAATGGCTGTTTCCCATCTAACTATTGGGAACTAGCCCCGCCGCCGAGGAATAGCGCACCTACAGAGGACGGTCCTAGGTTCCCCCTGGTAGTTACATTTAAAAACCCGTCTTGCAGAATGCAAGCCCTCGGCTATGGGCAACCGGTCCAAGGTTCGATACTATATAGAGTAGGATATTGTTACGCTCTTCAATGACCGACAGATATCGTTAAAGCGTGAGAGTTCGATGGGCAACACACAGGGTTACTAGGCATAATCCCTTTATAACTTAAGCATGTAGTCTTATATCATCTGGTCCGCCAGCTCGTATCAAGGCATGTTCCTTCCCGACCCATGTCTGTATGACCAGATCCAATGAGAGGACCCGCTCGGCGCCACTCTTATCGGTCCATTGGCAGCGCAGCTTGTCGGCACCTCATTCTTTCCTGCCACGGGTCCCGGGGGCAGGAGCATAAGCGTTATAATGACCGCTAGGCTACCGGCGTCCAACAAACAGCTAAGCCCAAGCGGTGCGGAGGGGTGTGTGTGGGCTTATTTTTCCATGGAAATGCGACGCGGGTCTCAACGCTTTTGAACAACCCTGTCACAAACTTAACTTAGATTACCAAGGCCCCGCACACAGTTCGGGCGGCAGGGAACGAATGCATCATCAGGGGTCTATGATGGGACCCCGACTCCTCTCGTTTACCTCAATGCGTATCGCGGCCAAGGTTCTTGCGACCCAGACACCTACTGGGTAATCGACCGAGGAATGTGACCTCCTTGGTAAGTGGATAGGATAGCGCATCACACCGATTTGCAATCATGCCATCTCCATCAGTCCCACGCTGCCTCGAATACCCCTCATACTTGATGAGCTAACTCGATCCGACCACCACCGACATCCCGCAGGACCCTACATTGCCCGCAGCACCCGTCACACTGACGTTGACGCTCACACAATTGAGCGGACTGTAACCTCGGACTTAAAGTACGCCGATTTGCGGACGGAACTGAGTGGATGGGGGGCCTGAGACACCGCAAAGATGGGCAACCAAGATGCCGCTGCTCCACCTACGCATATATAAGACTGGGACCTATTACGAAGGTAATTCCTGCAACCATCTTAGCAGGTCGTGCTAGAACGCCCTCAGACAGATCTCCAGTCAGAGCAAAACCTCGGAAGGATATGATGTGACATAGACAGGAGTGAAATGGACGTCTATCTGGGTCATTCGTGTCATATAAGCCGAAGACTCCGACTACCCGCAGAAAGGGTGTCAAACCACTCCGTTCGCTGAGCGGGGTAATAGGTTCAGGGTAAATTTTCCGGGAGCCCTTGTGACAATGTGCGGTGGAGGCATAACGTCGCTTCAATGATATGTCTACAGCCGACGTACGGAACGTCGTACGAAATTCTGCAATCGAATTGCCTCTGTCGGTCTGAGACACCGTGTACTCACACCCAAAACACGACGATTGGACAGCTTCCAGACCGCATGTGGACCTTTTTTTACAGAAGATCAATGACAAACTGATCAGTGGGGTGCATTAACCGAGCTTTTCCACGTGCGGCTCTCACTTAACGTATTGTGATGCGAGGGCACCCCCGAAGTCAAAGTCGCAGGCCGTGCAGTATTCTTTATTGAACTAAATTATGGGTGTCGGTCCTTTGGGCTTATTGCGGTGGCCTTTCACCGACACACCCGGTAGTTTAAGTAGGGCCACGAGTTTCATACTGTCAACTATACAACGTTGCAGACAGCATTGTACGGATACTGACCGATGATCGATCCTTGACGTCGATTATTTTCCTCCCGAGGTCTTGTCCCTGTATTTTTCCAGGGCCAAATTTACAAAACTAACTAGGGCGCTTCAGCGGAAACTGGACGCAATTCTGTATACATCGTAGACGCACTATGAGGCCGGGTGCGCACTGCTGCGTCAGCCATACATGGTACCAGACAACTTCCCACACGTAAGCACTGCCGAACAGCCTAATTGATTCGCTACGTGACCGCACGGCTAATCATAGGTCAAGCCCAGGAGAACTAATCCCAAGAGTTTTGCGGAAGCACTCACCTAGTTCGGGTTAGGGGCGGCATATGAACTGCCTGCCCCTCTCCTAATTCCATGATGGGTTGAGCAATCTGACTGTCCCGTTGATCGGCAGTGCGTGGGGTTATATTGGCGAGAGTAGAAAACGGCGGGCCACGCGTCCCCTGACGCCTCGACTTGTACTCGTGCGTCAGTCCTTGCACCGACGTGGAACGAAGCAGGCGTCAAGTACCAAAGCCACCATAATTGTGGCTCTCTGCCATGGGAGCTCGTCGGCATAGAATGCCCACAGTCGTTTCTCAGCGTACTAATCCAGTTCTTAGTATTGTACCAAGCAGGAGTACAGAAATGGTCGAAGATTACGAATTAGCCGGGCGGCCTACGTTTCAGTGTTTGCCGGTCGAAGCAAGCCAGTCGGATGGACCAATCAACGAAGTCGCCATCGGATCTGTACAGACTGTCCTTCTCGATGTCACCAATCGCAGGAATATCGCTTCGACTATGTCCACATATTGCGCCAGCGCAACAGCTTCTGGGGACAGCGGTGGATTGTAAGACTTGGCCGTTGTCGGTGAGGCTTGCGGGACAAACTCCTGGCGGAACTGGAGTCGATTCCGCGAGCGCACTTCGCATGCTGGTATGCAACATATAGGTGCTTCCTTCCCAAGTTTCCATGACTGATATGTGGACGTAATACAGGCGGATATCGTCTCTGTTCATCCAAACGTTCGTCTTTTAAAATGCTCGTTAGATCCATCCTGGTAAGTCCATGCTTCTGCCACATTAGTTGCAAAACTTGCTCACGCTGACGGCGTGCGCTCATTTGCACGGAGCACTGAGGTACGGATACGGGCCGCGTATAAACATCCTGCGTGTCTTATGGTTAGCCCCGCCGATATACAGGGAGAACGATGAGAGTGCTCACTCCTACATTTTACACAAGCGAAGGCCGCGACCAATAAAAAATAACGTAAACTCATTAGAAGAGCTTCTGGCCCTTGCCATCTCAACCTTGTCAAGCTGGCGCGCAAAGAGTAGCGAGAGCACAGCAACATACTTTAGTGGTGGGGGGCGCAGTCATCCAACCATCACGAACTCGTATATCGCTTCAAAAAGTTTTGATGTAGTTCCTCACCGTCGTCGCGAACTATTTTATTGTACATACTAATTCGGGGGGTGGTCTTGTATCTGTCTGTGCGCTCTCTTTAGAGTTCCGGGGTGGTCTTCCTCTTGGCTGAGTTCTCAAGAGTTCTCGGGCGTCCGAACCGGTGCCGACCTCCGCCGTATCGGAACCGTTGAATAAATCTATAGCCGTCTCGAGCTTGGGAGAGTGGTCATTGCAGTTTTGCTTCCCACCTTAATGAAAGAACTACCTCTGGTGGATAGGTAAAGGGGGCAAACGGATCCAAGTACCTGGGGAAACACTGCATCGTTCGAACCTTGAGCCGGCAAGGTCTATCCCAGTCGGTCGACACGGGGGCGATGTTACCGACTAGCCGCGAGGTATTAACGACATTGTGACCTCTTTCGGATACTTAAATCCATGACGCATGACGATCCGAGTCCTCTCGGAGAGCCCGTCGTTTCAATGACTTGCGCTGTTGCAGCATATCTTTCCGCCAATTGACTGTCGCAGACTATATCACAACTTATTGTCAGAGCCAAAACCTACGGGCACGAACGAGCAGAGCCACTTACGATAAACTAGGTTGACGCTGCCAGGGCGCAAAGTGGCTGTATCGCCGTCGCAGCGATTATGGGCCCCAACCCTATTGTAGCTGATTCAAGGTGTTGACCAGGCGTCGCTTATCGCGTTTATGAATCTCTGTGAGGTGGACTGATGTATAAGTACTCGTTACGTCTTCTACTATTGCGTGAGGTAGGAGAATCCGCGTGTCAATAAGGACGGCTAGTTAATAGGTACGACGTGAGAAATACAGATGCTAGGAAAAGTTAGATGGAGGACACTGCTTGTCGTAGGGATTTAATAAATGTATGCATAGGACGCAAATCTGCTCGCTGGCTTCGTGTACAGGCACGACCGACGAGAAGTTTAGGTTCTGCAGAAATGATTACAACTTAACGTGTGAAAAAGGTGTGGTCTGCTTTTTCGACTGCCGTTTTCGCCTACGCACAAGCCGACAGACGTCAATTTCATTGTAACGGAATTTCGCCCCATCGATCCCCCACTGCTCGACTGGCCTAATATATCAGGGGTAAGGTGGGTTTTGCGCACGCACCGTTGTCGATGTTCAGCGTGTCCCGAACGACCGGACACCTTTTAGTATTTTACGTTGATGGCCTCAGCCGGAAGGACTGAAACCCATAGCCGCTACCCAGGGTCACGTGATATACGGTGAGGAAATAAGTGGCCTTCGAAGCCCATTTAAATCGATGACGAGGGCATTGCTACTCTACGTCCGCTTACCACAGAACCATGCGTCCCAATGTTGCCCACGCGATAGCGCGAGATTCATAGTTTGTAAGTATCGACTACGTTCCAACAAGAGGTTCCCCCGAAGACCTACTGCCATGCCGCTAGTCCTGATCCTGGGTCTCACTGCGTGTGGGGCCAAGCCGACCCCCGTGCAGCTAGCAGCTAGCTCGGTGTAGTTGTCTACGCCGTAAGAGGTAGTAGTAGGGTAGGATCGACACTAGGAGAGTCGACATAGACCAGCAGGCGTTTAGCGGCGCTGGCGATGTCACAGATAAATATTCCGCTTCCTGAAGCAACTCGCTGGAATCTTTATAAGCGGCGAGACGGTTAGCTGCCCTACGTGGGTTCTACGAGCTATTATCTCGACTGGGCGCACAGATCACCGCTCCTCGCGTAGATATGATGGGGGGGGTATGTACGGCGTAACCGTGTAGGGCTTCTTTGCCGTACCTTTTTGATCAACGGACGTGCGTGTATTTTGACGGTAAAAAAATCACCCTCGCGAGGACGAGCTATGTATTCTTCAGGAGTGACAAAACGGAGCACTACTACACGACTGAGTTTTGCAAATCCACTCCGGCAAGAGTGGCGAAGCAAAGCGCAGCGGATTACATCAGTGCAAGAGGACGGGAGTTTATTCAAATACCCTCGCTGCTTGCTTCTAGCCTCAATAGCTCGTTTACTCTGATCTATCGGTCGATCGTTGAATAAGACTCAATCTGCGTTCCACGGGATCACTCGGGGCGGCGATCTTCGGTATAGCGGGTCTCCAACCCTCATGAACAATTGTTCGTCCCCCCGCGCGGGGTTTACACGCCACAGTTCCGGAGTAACCAATAGTAGTGTATACCAAGGGACCCCACCCAGAGCGTTCTTCCCAACCCCCACAAAGTCGGTATTTGGGACTCGGACTTACAAATTTAAAGTGAAGCCAGGTACTGCACTACGCTAGGGACTGCTCGGTTTCTAAGTAAGGTCAAGTTTTATCCGGGGCGCTAAAGACCACGTGACGCCGGGCTGCGAGGAGTCGAATTGCCTGTTAAATGTAGAGGAGTACGGCTTCGTAGAGCCACGTAAAATTGATATTCAGCACTGTTCGAGTCATGCCTACCCGTTGCCGCAAGTATGTAAGATGCACGTCGCAGTGCCCGCAGACAACACGGAAAATCTTTTTACACTGTAGAATGCGACACAATCCCACATCATCGGGCAGCAATCAATTTATTCGGTTATCGAGAATGGCCGGTTGAGGTTACTAGGCTAAAATACCGTGACCATTATCTGGGTAGAACAGGTTCGCTATTCTTCATTGTACACCGCTTAGCCACTTGCTAAGTAGCGGTGTCTCCTCGCTCGAAGCTCATTCGACTAATTCCTACATTTACGATGTGGCACAGAGGAATCGGATCCTGATTAAGGGGCTATGTCCTAAACGTAAGACTGGCGACTATCGGTTGAGCTTTTCGGCTTACGTATCCCACGTCCGTGTAACTATTGGCCCGAAGGCTGAAACCCCTACTGATCAAGAAAGAACCCCTTTTTACTTTTTATCTCCAGCCTCCGTCGTTGCCCAGTGCAATGCGGAACTGCAGAATTGGGTGGCCTGTGACTAACCCGGAGCCTTACTAAGAATTTTTTAACCTTGATATCCATTTCATTGCGTTGTGCCCATACTAGTTCTTGTCGAGCTTGTTATTGGCGTCACGAAATTGAGTAAACTGTGTCACATCCACATCCTCGTACCAGAGCGGGACGGGCGCTGTTGCGAGGGGATTTCGTCGCTGGGAAACTCGCCTTCACATCCGTCCCTTGGAACGCTTCAGTGTGCTGGTCCTAATTAAGGATACGTCTAGGAAAATTTCATATTATTAGCCAAAGGGGACGAACGATAAAACGAGGTTGGGTAGGGGTAGAATCCAGCCTGAGGAGTGAATGTCCTTGACACCACTTCACAATCGTCTCCCTACTTTAATGATGCGTCGGATACATGGGGAATGCTCGGTCGGGCTGTCAACGGAGCCAGTTAACAGGCGTGTTAGCTTCCTCGTAGGCTATCAAGCACTTGACGTTCTGAAGAGGCCCCATCACCCTAAGCGTCTCAATCGGAACTGTGGTCAGGACCATTATATTTCGGCTCCTTGAAACGTGCTGTAAAGAAGATTAGCACTATCACCCCCTGGACTGAGATCCTCACGCCAGAAAAACAGTAATAAGAGACATGTACCCCAATAGGTTTCGGACCAAGGATTATAGGTTATACCGCGTTGTGCTAACTTGACCAGCCTTTTGTTTATAGTCTGCAACCCGAGCTGGATAGAGCGCTTAAGTCACTGTCTACTGGCCAACCCGTCGTGGAAAAGACTCCATACCGAAGGCGATCCTAGCCGATCCACGCTGGTGCGGTGGGTTGTGGCACGGGTTTCATAAACCCTACCCCTACATTGGTTGCAGTTTTTCACTCAATTTCTGGGCGCAAGAATGACAGTAAGATAGCATCGTCCTTCAATAGGGCGTGGCGATGCCGCTAAGCTATATAACATTATTAGGTCGGCTTGTTTGGAGTATAGCCAGAGACTAGAAAATTCAGGTTGGCATAAGGTAGTCAACACATGCAGTGTAAGCATAGGTCCGTCGTATGTCGTACAGCAATAACAAGCATCTCTGAGAAGCATAAAGTTGTTCGAATACACAGCGCCGGGTGACAAGATCATCTGTTTGAAGAGTTCCGTTTCGGAAATACCTCTCATTAGTAGACACCGACGACCGGACGGTGATTTCCGCATAGAAGCCAATTGGTCCTTTCGTGGCCGGTTGTAGTATGCGTTATCATAGCTGCTTATATTCAGTTACGGGTCCTATCCCCTCCTCGTATCCTCGCCTCCTCATTCGCTACGCCCGGTGGTCAGTAGAAGGGAGTTCGTTAAGACTCAGCCAAGTAAACTGGTCACGCGTAGACCAGGCTATATTGCGCCCATAATTCGTACCGTAGGCACTGGCCACGGGCAGCAGGCGCAGCGCAAAGCGCCTGTCTGGTCGAGGTTTGTTAGCCTTCTACACTCTCTGGCTAGAGATCAAGAGTCTTCAGTAAGCCTTGCAATGTCCTAGGGAGGCGACCGTTAACCAGGGTAAGCTTAAGCTTCTCCGCCCTCTTGTCTCGCTGCGTCCTCGATGAGTTGCTTGTAAAAACAAATGTAACCATTTCATATAGGCTTGCCCCGTCCGCGTTCGTCGGTCCCGAGGACAAAAGGGTCGTATGTCACGGACTACTGGGAGATGGTGCTGGTGTCGCCCGTTCCGAAACGATCGGTTCTACTGCTAGTGCTATGCGACGAGGCTGAGCGTAATATTTCTATTTCGGTACCCAATCGTTCATATGGATAAACTTCAAAAATTAGAAACAACAGATATAGCCAAAAGCTTCTGCTCCCCCTCCTCTCTAGGCTTTGACCATACTCACCGACCCGCTTTGCGGTCTACGCGGTGGCCATCTTTCGAAATCAAACTCTTATGAGGGTCGGCTCTGCATATACAAGCCTGACCTCTATTTCTTCCCAGACGGACGGCGGGTTAGACAGCCACGGAATACACCCTCTAGGTTACTTACCTGGTTAACAGGCCTGCTCCCCTAAAAGGCGCACCTGAAATTGACAACGAGCCTGCTGCAGTGTTCACGCCGCTTCGGATTCGAGACGCGTTACATCCGTTGAAAAAACCATACATACGGATATTCATGTTGAAAGTACTGAAGGCACATTCTCAGGTGCTTCGTCTGAACGGGACGTCCTCTTACGTGGGCTCCAGGCAAATCTAATCTAGTATTAGCACACGTTAATGGGCCCGACACAGCCTGCCCACTATATTGGAAACTTGAGAGAGCTTGGCATCGACCGATTCCTGATCGACATGTATGGCAAAGCGGGCCGGATGGGCGATCCAACGTATCGCCTTTAATTATCTCGACTTCATAGCAATAGCTCTAATTGTCACGCCGAATGTCTAGACCCATGTGGGTGGTGCTTCTCTAAGTCCTGTCCGCCCTACGGCAACTCCGGCGGTTTATGATGTTCTCGGTTACGTCGACCGTGAATTGATTAAGTGAGAGTCCACGGGCCGAGCTTGAGCTATGCGACGCCGCCGCCGACCGGAAGACGCGAAGAACGCAGTTCGTCGCGAGCAGGGGACCAACAGCACTCAGTAAGTCCCATGCTTCACGGGGATGATACCCGTGAGGATTCGTTAAGGCTACGAGGCCTGCGAATGTCGCAGGTGAACGGTTCTAGTTTATTTAGAAGTAGCGTCCGTTAGGACTTTGTGAGGGGACTAATTACGCTCGCCTCCTCCCTGTAAGAGAAGTAGTTCCGCGGCTCATCCAAATGTAAAGCGGCGACCCCTTGGACGATTCTGTGGTGGATACCCAGCAAGGTGGCGCTCTATGATGAGGCAGAATAGGATCAAGAGCCCCGTTAACTATCGAGGCGGAAAGGACAACTCTGCAGATCGTAATCTATGCAATTCATATAACTGGGGGTGCATAAGCTCACGGGTTGCAAAAGTTATGGCCAGTGCGTTTTCAGTAGGGATGGAACCTCCAATACCAGCGAGGCTTTGAATGATCTCCCGCCGTTACATTGCTTGCACAACAGCGTCTCACTGTGTTCAACTTGAATATTCCCAACTCTGACGGAACCTGGTGAAATCTGGAGGCAGAAGGACCAAAGCGGGTCTGCACGGGTGCCCAAGGACGGACGGCCGCTGTCGCCATGAGCGTGCACCCGGGTTCCGTTCGCTGAGCACTTTAGTTAATAAAATCGCACTTGACCACCATTGGCCCCTCACCCTGTCCTTAAGTGAGCTCGGCTCGCTAAGGGTGAATTAGCCGATACAAACATAACCGTCCTGCAGACACTGTTTGAAGTAGTGCTGTCTATCGGTAAGAGGACGGGTCGAAATAATTGCGACCGAAGTGGTTGAAAGTCCTCGAAGCCCAAATGACGAGGCGAGATCACGCATTACGGAATGGAAAAACCGTTGCACAGCGTAAATCTGCTGTCTATAGCTCAGAACCAGCAGCTGAATGGGACGGATGCGTCTGCTATCGGACTCTATTACGTTCTTTTTTATGGCGGACATATGGACGTTTGTGAACTGGGGACAGAGGCTTACTTAAACAGTTAGGCCTTGGTCTCGACCTTAGAGCCGTAACTAGACCGCCTCTTTTGTCTGGTCTCCCGGTGCGTGGATCTCGGTGTTTTCTAGACGGCGTATCCTGCTGTCGCTTGGCGTCTAAAACCGCCCACCTATCGGCGGAGCTGATCTGTGGGCCCAGTCGCATACCATTAGTCAGGCGAAAGTCACCCCTACTGAGCACTATAAATCCGCCGTCTTGCCTAGTAATAACGTACCACCGTGGTCCATATAAAGTACTTTTCTCGAAATTTTCCAGAAAGATATTACCCTACCGGTATTCCTCACAAACCACACCGACGTTAATCATTAAGTGAGGTTCAACTTAGATGAGATTCTTTAGAAGTCCATTGATCAAATAGGTTGAATCGATTCATTAAGGTTCACATCTGGTATGAGACCTACTGGCAGGAGTTGGGCTTCACTGGGGCGATTGAGGTCGGAGTGCGTCTCTGCCCGCAACGCACAGGCGGCGCCCACCTGAAGAGCACGCAGAGTTGCAGCAGAAGCGAAGTCAGCAAAAATGAACCCCTTGCTTCAGTAATGAGTAACTTTCCGATGTAGAGGCATTGCGGACACAAAATCATACTTCCGATAGGGCACGCATTATTTAGAATCGTAGTTCGTTATGTGATATTAGTCTGGAATAAGTCATCAGTTAGCAGCATTCGATCTATTCAGATTAACCTCGCAGGCGTAGGATACCTCTTGATCTCGCGAGTCATTTAGCACCCGGACTGCATTCAATTTTTCCGCACTACACGGGGCCCCGCTGCAGTATCCAGGTGAATGATCTGTTGTTCTGGAGTCGGCCTTGCTGCCGCGTGTCGGAAGCTGGACACACCAGAGACAAGCGAGACACATCCGTGGCCTGATGCTACTTGTTCCGTTCTTAACAGTCCCTTAGAACCCAGGGACTAATGGAGGTGGAGCAGATCCTAGCACGCTTAAACTAAAGTATATAGCGGACACTCGTGACGGACTCGACCTTGGGATCGTTTACAATTCATTAATCGATCAGCGAAAACGATTTACTTAAATCCCTATCGACGTAGGCAGGTTCTTAACGTGGTAACTGCCTCCCCACTGGTGTGTAACTGAAAGTGGGACAAGAATTACTGGCCCCTGATTTTTTACCCCTCTTTGCCCAAGCCATCGGGTCGTCGGTGTCAATAAACGTTTCTAGGTGATTTGAATGGGCGTGGTTACTCCAAGGATTCCAACGTGCCGTTCGTTTCCGAAAAGAATGAAGTCATTAGCTAAACGTGACTCCAGCTGTTGGGTTAGCATCGAGCGGGCACTACCCGATCGGCCGAATGTCGGTTAAAGCAACTACTCTTACAACTGTTAGAAGTCGACCGATCCCAATATTGCTGCAATTCAGGACTATCAAACTTCAGGTTAAGCTGAATCTGCAGCTTTCACGTGATAACCGACAATGAGGCTTTCTCTCCGCAGATCCTACTGGGTGTTGAGTCTACGCGTACGTGAGTTTACGGTTCGACATTCGTATAGAATCTTTAATACGGATAAATGGTTGGGTATAATGTGTCGAATGACCCGGGAAGCCTTGACCCGTCCCCCCTTTATTCTGCCGCGTCTAATGACACATCCCACTCATCTGGGTCTTTTATAATATCCATGATTCGCAGATCCGCTCGACTACTCTCTAAGGAGAGTGTCTGATGGTGAGAGCGCAAGACTAATTTAGGTTTAACCGGTGTAAGAACCCCACGATCTTTTGCACCTTTGCGTATGGCCATCCGGAAATTTATGACGATTTCGGAAGGCCACGTGATTAGATGAAAGCAACCCACCGCACGTATCCTTAACCCTTAGGACTCTAGTACTCATCATTTAGACAATTATGTATAGTGCAGGGGAAGTTCAGACTTCTAAAGTTTAGGAGTGGCGACATTTTCATAGTCAATTCTCGTCGACAGTTCAGGCACCGGATACGATAGCATGGATGCTCGCGATCCTGTCCTAAGATTTGATTCTACCTGTCTAGTAGACGTCCGTCGAGGGTGTTAATGTTATCCCACGCGCAACGGACAGTGCCACCCACATAGTTGACGAAACTTGGGATCACAGCGATTTTTTACTACGGTTCTATCTACTGCAGCCTTATCAGCATTGTATGCAGATGATCAGTGTCTAACTGCACTCAGCTGTTCGTGCGCTATGCACGCAGCCGTTAAATCAAACTTAACTCGACTCCGTCAAATTGAACGGGATGAGGCATAAGCAATCCCTGCCGAGGCCCATGCGCTCTATTAATGCCTGAACTCCCGCTTTCTACCGGCGAATGACAAGATGACTGGGTTGATTTTAAGTGGTCCGGACGTGACTGGTGGACAGAGACTGTGTCTCAATACTACACAGTAGACAGGACCGGACTTTACGGGCAGTCCATGATGGGATGGCGCCCGTATACGTGGCACGACCTCGGACTCGGTAAGTCTTTAGGGCTAGGACCTACTTAGCAACGCTAAGTGTGGAAGGGAAACGACCGGCCATCCGACCCGTTCCATTAGATATGGTCTCGTGTAGAGGCGTAGCATCTACGCTCGGTTCGGAATATCAGGTGCGCCGTGCATGACTAAACAATACCTCGCATTGGCAGGACGTTAAGGATTCGACACCGCACCTGGCAGGCGTATTCGTTGGAATCTGGTCGTGAGATTTTGCGTAAATGCTCTCCACATCTTGCCGTGTTACTTAACACTCTCATGTGGTCGATAACAATAGTGCGTATTCTTAAAGATGACGTCAAGGTACCTCTAGTTGGCTTTACAGTTCTGACGAACAGGTAGCCATGGATGAGTTCTATACTAGCGGCCTGTGAACAGTTGCGCTGCCTGCTCGAGTATTCCTGGAAGAAAGTCCCTTATTCTCCGTGCTCCGTCAGATACTAGAGCTCTTCGTAGAGGATTGGGACCTGCGACAAGCTCTAAGAGCGACCCTGTTGGTATTACTTAGAAAGCCATAGGATTTCAGTCGCTCACTCAGGCTAAACGGACGGTGGGGTTCGTCTATTAACAAGCCCCCCTCTCCTGTTTGTACGCGCGTCAACGGAGCGGCGACGTCGCTAACGTACGTGCTGTCCTCACTAGCGCCGCCGGAGTAAGTGGCGGGCGGTAGACAGAACGACCGAGGAGTTCAACGGACACACATGCCCGCCGAGAGCCTCGGAAATCCTGTAGATGCGAGTCAACTCTTTTGTACCGCATTAAGGGGTATCACGGCGATAATGCCTCCGAGATCGGGCCTGGTTGTTAAGCCATTGCCACGACAGTCGTGGTGAAATCTAAGCATCCCCGGGTCACTGTTCAACATCATTCGACGTGCGTACCACCATCGATCAAGAGGTACTGCTCAGGCCTGCTCAGGTGGGCGGTTGGGCCGATAGCCAAGCTCGCCACCCTAGCCCCCCAGGTCAGCGCGGCCTCGATAATAGAATGGGCGGGCGCGGTCCGGTTTATTATGATCGAATGTGGGACTAAGGGATTCCTTCGGCCCACGGTGGGCTGGTGGGTCGCAATAATAACGCGGACGAACCTATCATCGTTAAATATCGCACCAGGCTCGGAATAGGATAGCACAACTTGTGAAGGAACAACCCGGTATTTATCCTCTTCCGCATGCCTGTTCCCCAATCACATTGTCATAGCCAGGTTCTGAAAGTTTGCCCTGAACCCACCCAAACAGGGTAGCTTCTGGCCTGTAAACCACATGGTGATAGCCTCCGAAGCTTGGTTGGCCTTATCCCCCTTCTATAAATACACGTTGCCAGTCCATAATTGGAGGTAAAATACCAAACGTTGTATATATGGCATGAGAGTCACCCCCACCTGTGAGCACGCCCTCAACGGTGAGCACATGATGTGTTGCCGATCGGAATATTGGAGGCCTGTGTACTCTGATTCATCGACGAGCTGACATAGAAGTCTCCAGTCCATCTCCCCCGTTACGTATGCTTCGGAGCTATCTTTCCATAGTGGCGCTTCAATTTAGCCACCCGTTGACAGCAGGGAAGAGACGTTACCAATTGTCCATAGGACAACAAATATGGGCTTTATAGTGTAACCAAACAGTGTCGCCGGGTAGGAGGCCGTGCCGTAGGAAAAAATTTTCCTTATCTAGCCAGTGCTGCCTTAAAGTTAGACTGCGGATGCGTAAGACGGGACAAGTTATGAGAACGGAGCCCTTAAGCAAAGTGATCCTACCATTCGCGCGATACTTGTACATCGAGGCCCTTGGAGGATAGCGCCTCCCCTGTCCATTCTATGAATGACCGAAGGGTGATCTAAACCTGTTATATTTTATGGATCCGCATTAAGGATGGTTTCCGTCCGTCATTCGGATGTCGGGCGGGTTGTGCGGTCACTAGAATTTCATCGCTAGATAATTATATAAACAAGCTCACTTTGTCGTGCACCGCGGAAATCACGACCACCAGATCTTCATATAATAAAGGACGGGCATTAAAAGCTCAGAACCCCCGCAAAGCGCAGAGGCTCCGACCTTGGAAGGGACCTACCATCGCGCCTAGTACGGATCCCAGACAAGTGGGAATCTGTACAATCTAGTGTGATAAACTCGTACCTTCGTCTATATGAAGATTGAGTTTAGTAGAGCGCTATCTTACAACCCAGTGCTACAGTGGCAAATGTTGTGAGGCCTTATGCAGCTTGCCTAAGTTCGCGAATGTTGATATGTCTACCTGGCTCGCGTGACAGCAACTTACTTGTCCGTACTGATAGGTCAGTGTAGGGGTACAGGTGAGCGCGGGCCCCTGTATTTGTAAGAGACTTAATATGTGGACCGGTGATCCTGTCCGCTTAGTAACAGGTGTCCTACTACCAACACACGCATTTACCCCGAAGCGACCGCTTCCCGGTAAGCGACTTGAAGGGCCGCACTGTTACTCCGTCGTACTTAGTAGTCATTTAATAATACTGCAGAAGATAATCGACGGCACAGGACTTACCTGTCGAGCTTGTGTCAGTAGGGTTTTGCTGCATGGCTGTGAGGAAACGTTGGCACATTCCTTTGGCTATATCGGATAGCTCACTTTTGAAGTCTGGTTAACAATGCTGGTAATCGATGTATAGACTTCTGTCACCCAAAACGGTCCTTAACGTGTGCAGTCGCCGGGTGCAACACGGGCTCGTCTCCTGTTCAAGGATTTACCGATTACACTAACCCGATTCACGCGTGCGTAACAATCTTCGACAGCCGTCAGCGTCCAGGAACCGATAGAGGGAGGGTGGTTCAGTGATGGTTAACCGTGAGCCGGGTAGGAGTAAGCCCGTGTTTAATTAAATTTTCGTAATTTGGCGCATGAGGGTTATTTACCCGCGCGTCTGGGCCTGCACATCGACACAAGCGAGGTTGTGGGACGGAAAAGAATCAAAATGCCTGTTACGGGCAAGCACCAATTAGACGGGGTCTTCGGAGTGATCCGGAGAGCGAATCTAGGAGATACGTCAACTTGTTCTGGCTGTTGGGCACTTATGGACGTAACAGCCTAACGAAGCTTACTCGTCAGTGTCATTGAAAGGCCTTGACGGCACACCACATCTATGTGGGCTCGCCTAACAAGCACCTGACTTAACATATGCCCAGAAGTGCGGTACACGATCCTCAGGCCAAATTTGTCGGCGGCTGCCCTGCCTACTTCCCTATGGCCTACCATGGATCTTGGAATCCACGACGGTTCCTTAATTCATAAAATGTCTGAGAACGCTCCTAGCTGAGCGGTCCATTGTTATCATTGCCTTTTCCTACGCACTTCTGCACTTTCGGACTTCTAGTTTAATATATTCTATATCAAAGCCGAGTAATGCGCTCCGTTAGGAGGTCCGAAAGTCTGTTAGTGCTGGACCTTCAAGGTTGTTACATTGATTGTACGGACAAGGGGAACGTCCAATAAGACATGTGACGTATGGGCCCTCGCACTCTGATGGCGCTGGCGGTAAGCTCCTCTCCGTCCTTGTATATCCCGTTCTTTGGGCTACAGGCCTGGGTTTGATACCAGGAGCTAGTAAAAGCTTGACTGCGTGTTCGGGTCAACTATAGCCGCTGGCATAACAGCAATACGTGGTTTGTTAGGCTTCAAGTCACGATGGGATTGGTGGCCCAATCTGAGTTGGAGGCTGTCCGACGCATATCTTTTAGGTCAGATGGAAAGAATCCCACGCGAAAGACCCTTACTACACCCTTTCTACTCTTAGTATTTCTATACGCCGTCCTAACTACCATGAGCAGTTTTCTCGTCCAGCCGCTTTTCCCTCGTCCGCAGCAGCCTACAGGACTTCTTATAGTGAACCAAGTGCATTTTCTCCAAATTCCTTCCTGATTCAACGCGAGCTTTGGAAAAGATCCGGTGAGGATTCCTCGGAGTGCCGTATCTTGTGGAACAAGGGCGATCATGATTGCACGCCAATCCAAGAGGCTTCACGCAAAGCTTGAAGTCTATCTCTCCATGTTAGAGACTTACGGTATGTAGTCACTTCAGGTCTAGATTCACTGTCCGCTCCTATAGTCCTCAATGTGCAACTGAAGTAGGCGGGACTACTCGGGCCGCAGTAAAGGACGTCCGGCCAACTTCTGATACCATATGTCGTTATGGATATCGCACCATACCCTATCGGCGGGCTTCTGCTTTACTCTCGACAGCCGGGCGCGCAGAGACTCTGCTATAAGTAACTTCACGAATGGGCGAGGTCGCGCTAAATAAGTTAAGTTAGATAAAAGAAGGGGCAAAAGCTTGAGAAGATGTCAAAAACGTAGCCGAGAATTGGTACCTAGAAGACCCACTCCCCGACACTCAGGTGACGGGCGTCTGGCACTTAGAACAGTCAACGTGTTCGGTTTGAACCCGAACGGTGCATTTAACGCAAGTTATATAGGACGAAGAGTCTTCACGTGAGATACACTGCATTGTTCCGTGTGAAACTGCTTGATCTGTATAGCTCGATCGGCAAACTGATAATCAGTCAAGGTTTAAACGTATCATTCCATGATTTGGTGAAGGAGGGTGGGGTACATTCAAACATCTGATGGACTGAATTGATCCGTGTAACCTAGTCTGCTTGAGAAATAATAAAGCCCGAATCCGCCAAGGTTTGCCAAAACAAACCGCGTACTGCTTTGTCATGGCACAGCTCCGGATGGAGTGCCAAGCCTGACCGCTACCCCTCGATAGGCCCTTGTAGTGGGATACCTACGAAAACATCAAGGTTGCACGGAAGTACGAACGGCTTGATTCTTCGTGAAAGTAGGGAACTGGTTTTAATAGGGTTATTGACATAGCAAGATACTTATCTGGAGAGTTATTGCAAGACTTCTTTACAGCGAGACGTATCAACTTACACGCGGGCTTGGAGAAGGGCAATAGGTAGACACAAAGATTCAACGGCCGACTTGTAACAATTCACCCGCAGCGTGATCGTTTCACGAACACGTATTTCGAAGGGCTGTTTCTCCGGGCGCGAACCCGAAGGCCCAGGGGACATGGTAAGGCCAAAGGTACCGGTGTCGGTTTCCCGGCGCTGGCTACAGGAAAGAGCGTGGGGCCTGAATTAGCCGCGCCTGCGGAGTCGGCAAATTTCCCACATCGCCAACACGACCCATCCTCCAAGCTCCTACATAACCACGTGTCACCATGACATGCATGTGCACATTACTATTGCGAGACGTGTCACGTGAGCCAAGCTTCGAACAAGGTCACATTTAGGAGCCCTCCCATCTAAGCATGACCGGGGAGCACGTTAGTGTTAAATACCATTGGTTGGCCTTAGGGCGCCTGTGCAACACAGCTTTAGTTGCCCTGATTGCTCGCCACGGGGTCCCCTTATAGCCGTGCATGGTGTCTTCGTTATTCCACTAAAACTGGCAACACATGCCTGAAGACAGCCCAGGGAGTGCGTCAGGCAGGGGGAATCGCAACCCCGAGTCGCCGAGTGTGGTCGGACATCTGTCGGGACCCTCAACTAAGTCGCTTCGGAAATGCCTGTATTTCTAACATTCTTCTTCTTGCGGTCGGAACGTACAGACCGGATGCTACTATCTGATCAGTGGAATAGCCAAGTCTGAGGTCCACACCTTCAGTTTCTGGTAGGGGGAATGTCCAGCAAGGTGCCCAACCCCGACAAGAGAGTTCTCAATGGTCGAGCTACGCGCCAACAGGGTGCTATATGAAATTGTCATGTAGTGTGATTATCCGACCGAGAGATTTGCCAGCTCTGCCAGAGCAGTATCACGATCCACACCGACAGTGCACGACAATTGGATATGCAATTCGAGGCATGTGCTTACTCCAGCCAAATCTTCCATGCAGCGATTAAGCGGGTTCAGTAGTGCCGGTATAGATTATCTACTCGCATGACTACTCCGTACTTTGCAACTTTGATAACGCAACAGTGTACCGGTTTGAGTTCCTGGAGTCCCATGGACAAAGGTATGGAGGATACTTGTTTATGGCATTAATTGTAGGAATGGGTGATACCTTTACACAACTGGTATTGCGTAGTCGCATTGGGCGTGCAACCGAAACCCTGAATCGAGGAAGTCCCCCCGTTATCGTTGGAGGCGCAGTTTTATGAAATTCTTATCGGAGCGGTTTCTGGCTATACGTTCCGAGGCAAAGGTTCAACTCGCCGAAAGTCAAAACATACGCTGATGGTGGGATCTGCTTGTGAGTCATCACTTCGTCCTTGTATATCACCCCAGAGCTGCTGTTGAGGTTGGACCCCGTAACCATCCCTTGAGATGAGGTTAATTGATAGGTTTGTCAATACAGACCCGGCATACGTTAAGATAGTTTTTCATTCGGCTATACTCCGGAGAATCTTACATACGGAGCCTTCGTCACCCCGTCCCCTTCTGCAGCCGAACAGATTGGACGGGTATGTCCGCCCGATTTCCGCCGAAGCGGACGATTGTAAATATGGAAGCAGCCCGCCGATTCAGGATTATATAGGAGGGTTGCCCCCCTGTAACGCCTTGTCGGTAGATTATGAGTTTTTGCGTTCGGTCACACCAAGTACGTTGGAGAACACGATAATTACCGTCGGGCTGAACCCTGTGTAGAATATTGCCTTGCCGCGCCCTGCCAGGTAAAACTGAACGGACCCTCTGGCCTTAATGGGAGCAGACTAGCAAAGTCAATATGTACTCCTAGGATGTGGGGTCTACCACACTCTAAAACGCGCAATGCGTCCACATTACGTGGGAGAAGCGTGCCCAGTTCTCTAACCGCGCCGTAGGCCAGGCATCGCTAAAAGTTGAACTCTCCATTACTAGAGACCTTAGCATACTTGGCTCTCAGCAGCTGAGCATTGCACGGGCGGCCAAGATCAATTTCCCCCTTGGATTCAATATGAACCTAAAATTGGGATCGGCCATTAAACCGCTTGCGCGTAGCGGGTTAGGGAGCAACTCGCACGAAGACAAAAATCAAACCCGTTAGCTGTTTCTCGCATTTTCTACCTACGCCTGCGGCCAGCTTCTCACGGTGCCTCGGGGTTACAGTTGCTAGGCCTCCCGACGTAGTTCAGACGTACCCCATCCTGTAACGCTTATTATTCCAACAAGGACAAGATTTTGATCCTCTTGGTCCCGGACAGGTTAAAAATCCTCAGGCAGAATCCAACTGAAGAACCCGTTAAAGATTGCTATCCTATGTCCGGCGCGTCTGGAGGATTTGTTCACGTAGTACCAGATGTATAGCCCGTTTTTGCTATATCCTCAGATTTCGGCACACGCAGGAGCTATACGCATTCACTCGACCCTGTACTACTTTACCATCATAGTCCACGTGTAGTACCCGACTGGCTCAGTGCGGCCAATCTAGACGTTGGAGACGGGCCTTTCTTGTACCCCGCAGAGGATAAGCAAAAGACTGGTGAAGGATGGGAATAAGAGCGTAAGAGAACGCCTGGATGACCGGTCCTCGCT"
minimum_skew(s)


Traceback (most recent call last):

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 389, in execute_request
    shell.run_cell(code, store_history=store_history, silent=silent)

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2681, in run_cell
    cell = self.input_transformer_manager.transform_cell(raw_cell)

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/core/inputsplitter.py", line 553, in transform_cell
    self.push(cell)

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/core/inputsplitter.py", line 597, in push
    out = self.push_line(line)

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/core/inputsplitter.py", line 620, in push_line
    line = transformer.push(line)

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/core/inputtransformer.py", line 92, in push
    return self.func(line)

  File "/Users/philross/.virtualenvs/pydata/lib/python2.7/site-packages/IPython/core/inputtransformer.py", line 350, in help_end
    m = _help_end_re.search(line)

KeyboardInterrupt

In [ ]: